Установка пути к бинарному файрфоксу в windows с селеновым вебдрайвером
Я пытаюсь построить служебную функцию для вывода красивого суп-кода в браузер У меня есть следующий код:
def bs4_to_browser(data):
from selenium import webdriver
driver = webdriver.Firefox(path="F:\FirefoxPortable\Firefox.exe")
driver.get("about:blank")
data = '<h1>test</h1>' # supposed to come from BeautifulSoup
driver.execute_script('document.body.innerHTML = "{html}";'.format(html=data))
return
когда я запускаю это, я получаю:
TypeError at /providers/
__init__() got an unexpected keyword argument 'path'
Я использую win7. Как установить путь к переносимому исполняемому файлу Firefox?
2 ответа
Чтобы установить пользовательский путь к Firefox
вам нужно использовать FirefoxBinary
:
from selenium.webdriver.firefox.firefox_binary import FirefoxBinary
binary = FirefoxBinary('F:\FirefoxPortable\Firefox.exe')
driver = webdriver.Firefox(firefox_binary=binary)
Или, альтернативно, добавить F:\FirefoxPortable
к PATH
переменная окружения и запустить Firefox
обычным способом:
driver = webdriver.Firefox()
По умолчанию селен будет искать путь - C:\Program Files (x86)\Mozilla Firefox\
Пожалуйста, установите Firefox по ссылке - http://filehippo.com/download_firefox/67599/ и попробуйте
Для этого вам не нужно давать двоичный файл.
Если вы хотите установить Firefox в произвольном месте, укажите каталог по своему усмотрению, когда он появится. Если вы установили в нестандартном месте, мы должны упомянуть двоичное расположение Firefox в коде, как показано ниже
from selenium import webdriver
from selenium.webdriver.firefox.firefox_binary import FirefoxBinary
binary = FirefoxBinary("C:\\Program Files (x86)\\Mozilla Firefox\\firefox.exe")
fp = webdriver.FirefoxProfile()
driver = webdriver.Firefox(firefox_binary=binary, firefox_profile=fp)
Если вы, например, уже скачали драйвер chrome отсюда, вы можете просто указать путь к нему:
from selenium import webdriver
driver = webdriver.Chrome(r'D:\\chromedriver.exe')