Как открыть Firefox Developer Edition через Selenium
Следуя некоторым учебникам по Selenium, я установил geckodriver
, Чтобы запустить простой код на python для запуска Selenium, я должен указать этот путь в командной строке:
export PATH=$PATH:/home/xx/Downloads/geckodriver-v0.24.0-linux64
Но я хочу, чтобы Selenium открыл имеющуюся у меня версию для разработчиков, поскольку она содержит расширение, которое я хочу протестировать: когда я разделяю путь к исполняемому файлу для версии для разработчиков:
export PATH=$PATH:/home/xx/Documents/ff_extension/firefox/
Затем запустите мой скрипт на python:
from selenium import webdriver
browser = webdriver.Firefox()
Селен все еще открывает geckodriver
браузер.
Q: Как я могу поручить Selenium запускать Firefox Dev? Издание в пути я указываю?
3 ответа
Браузер Firefox Developer Edition не устанавливается в обычном месте, где установлен обычный браузер Firefox. В моем Windows 8 окне Firefox Developer Edition браузер был установлен в каталоге:
C:\Program Files\Firefox Developer Edition
Теперь при вызове браузера Firefox Developer Edition необходимо передать абсолютный путь двоичного файла Firefox Developer Edition через аргумент firefox_binary
следующее:
Блок кода:
from selenium import webdriver from selenium.webdriver.firefox.firefox_binary import FirefoxBinary firefox_dev_binary = FirefoxBinary(r'C:\Program Files\Firefox Developer Edition\firefox.exe') driver = webdriver.Firefox(firefox_binary=firefox_dev_binary, executable_path=r'C:\Utility\BrowserDrivers\geckodriver.exe') driver.get('https://www.google.co.in') print("Page Title is : %s" %driver.title) # driver.quit()
Консольный вывод:
Page Title is : Google
Снимок браузера:
Этот случай использования
Поскольку вы работаете в Linux, вам необходимо указать абсолютный путь:
- Бинарный Firefox Developer Edition
- Бинарный GeckoDriver
Таким образом, ваш эффективный блок кода будет:
from selenium import webdriver
from selenium.webdriver.firefox.firefox_binary import FirefoxBinary
firefox_dev_binary = FirefoxBinary('/path/to/Firefox Developer Edition/firefox')
driver = webdriver.Firefox(firefox_binary=firefox_dev_binary, executable_path='/home/xx/Downloads/geckodriver-v0.24.0-linux64/geckodriver')
driver.get('https://www.google.co.in')
print("Page Title is : %s" %driver.title)
# driver.quit()
Ты можешь использовать FirefoxBinary
как описано здесь: Установка пути к бинарному файрфоксу в Windows с помощью селенового веб-драйвера
Чтобы установить собственный путь к Firefox, вам нужно использовать FirefoxBinary:
from selenium.webdriver.firefox.firefox_binary import FirefoxBinary
binary = FirefoxBinary('F:\FirefoxPortable\Firefox.exe')
driver = webdriver.Firefox(firefox_binary=binary)
Альтернатива:
from selenium.webdriver.firefox.options import Options as FirefoxOptions
s = FirefoxOptions()
driver = webdriver.Firefox(options=s)