J'essaie de créer une fonction utilitaire pour générer un code de soupe magnifique vers un navigateur. J'ai le code suivant:
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
quand je lance ceci je reçois:
TypeError at /providers/
__init__() got an unexpected keyword argument 'path'
J'utilise win7. Comment définir le chemin d'accès à l'exécutable portable firefox?
Pour définir le chemin personnalisé sur Firefox
, vous devez utiliser FirefoxBinary
:
from Selenium.webdriver.firefox.firefox_binary import FirefoxBinary
binary = FirefoxBinary('F:\FirefoxPortable\Firefox.exe')
driver = webdriver.Firefox(firefox_binary=binary)
Ou, alternativement, ajoutez F:\FirefoxPortable
à la variable d'environnement PATH
et lancez Firefox
de manière habituelle:
driver = webdriver.Firefox()
Par défaut, Selenium examinera le chemin - C:\Program Files (x86)\Mozilla Firefox \
Veuillez installer Firefox en utilisant le lien - http://filehippo.com/download_firefox/67599/ et essayez
Pour cela, vous n'avez pas besoin de donner le binaire.
Si vous souhaitez installer Firefox à un emplacement personnalisé, indiquez le répertoire souhaité lorsqu’il apparaît pour l’emplacement. Si vous avez installé dans un emplacement personnalisé, nous devons mentionner l'emplacement binaire de Firefox dans le code ci-dessous.
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)
Si, par exemple, vous avez déjà téléchargé le pilote chrome à partir de ici , vous pouvez simplement spécifier le chemin d'accès de cette manière:
from Selenium import webdriver
driver = webdriver.Chrome(r'D:\\chromedriver.exe')