Откройте новую вкладку в Firefox, используя Selenium WebDriver на Mac

Я только что установил Selenium Web Driver и попробовал. Он отлично работает. Мое применение можно описать следующим образом:

  1. Запустите Firefox на сервере с псевдо X-сервером (Xvfb)
  2. Новый объект Driver.Firefox ()
  3. Откройте 10 вкладок и загрузите веб-страницу на каждой вкладке.
  4. Извлеките html из всех загруженных страниц

Единственный шаг, который не работает, – это шаг 3. Я не могу узнать, как открыть новые вкладки. Я нашел это здесь на SO: Как открыть новую вкладку с помощью Selenium WebDriver с Java? Тем не менее, я тестировал это локально (то есть с видимым отображением) на своем Mac для цели отладки, и я увидел, что браузер Firefox (который был открыт при создании объекта драйвера) не открывает никаких вкладок при выполнении, как описано в потоке SO. Поэтому я попробовал это здесь:

driver = webdriver.Firefox() driver.get("https://stackoverflow.com/") body = driver.find_element_by_tag_name("body") body.send_keys(Keys.CONTROL + 't') 

Как я уже сказал, это не работает для меня. Итак, как еще можно открывать вкладки? Я использую Selenium 2.39 (pip install selenium) и Python 2.7.

2 Solutions collect form web for “Откройте новую вкладку в Firefox, используя Selenium WebDriver на Mac”

комбинация клавиш для открытия новой вкладки в OSX – Command + T, поэтому вы должны использовать

 body.send_keys(Keys.COMMAND + 't') 

Вероятно, немного правильнее отправить его в браузер с помощью цепочки действий, поскольку вы на самом деле не набираете текст; это также делает ваш код более удобочитаемым imo

 from selenium.webdriver.common.action_chains import ActionChains from selenium.webdriver.common.keys import Keys # before correction from DMfll: # ActionChains(driver).send_keys(Keys.COMMAND, "t").perform() # correct method ActionChains(driver).key_down(Keys.COMMAND).send_keys("t").key_up(Keys.COMMAND)‌​‌​.perform() 
  • Выполнение тестов Selenium с использованием IE с использованием python
  • Python Selenium Webdriver Не удалось запустить браузер браузера: разрешение отклонено
  • Python selenium rc create_cookie
  • Selenium WebDriverWait, но все же «Элемент не кликается в точке»
  • Попытка использовать Selenium 2 с привязками Python, но я получаю ошибку импорта
  • Как захватить сетевой трафик с помощью selenium webdriver и прокси-сервера browsermob на Python?
  • загрузка файла с использованием селена
  • Как загрузить сеанс и файлы cookie из браузера Selenium в библиотеку запросов в Python?
  • Scrapy and Selenium: только лом две страницы
  • Как избежать одиночной кавычки в xpath 1.0 в selenium для python
  • PhantomJS возвращает пустую веб-страницу (python, Selenium)
  • Python - лучший язык программирования в мире.