Откройте новую вкладку в 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() 
  • python selenium нажмите на кнопку
  • Python Selenium Exception AttributeError: «Объект« Сервис »не имеет атрибута« процесс »в selenium.webdriver.ie.service.Service
  • Селену требуется много времени, чтобы найти элемент. Есть ли что-то, что я могу сделать?
  • как открыть две вкладки в python splinter
  • Python Selenium Alert - запрашивать имя пользователя и пароль не работает
  • Как обновить уже открытую веб-страницу
  • Keys.ESCAPE в selenium webdriver (python)
  • ElementNotVisibleException: Сообщение: элемент в настоящее время не виден ... selenium (python)
  • Python - лучший язык программирования в мире.