ves*_*abo 5 firefox python-3.x selenium-webdriver geckodriver google-colaboratory
我想在带有 Selenium Python 包的 Google Colaboratory 中使用 geckodriver。这是我尝试过的(我不是 Ubuntu 专家)
!pip install selenium
!apt-get update
!apt install firefox-geckodriver
from selenium.webdriver.firefox.options import Options as FirefoxOptions
firefox_options = FirefoxOptions()
firefox_options.add_argument("--headless")
driver = webdriver.Firefox(executable_path=r'/usr/bin/firefox', options=firefox_options)
Run Code Online (Sandbox Code Playgroud)
这里r'/usr/bin/firefox
是错误的。我糊涂了。解决办法是什么?任何帮助表示赞赏。
executable_path是一个参数,用户可以通过该参数传递GeckoDriver二进制文件的绝对路径,覆盖用于 Firefox 47.0.1 及更高版本的GeckoDriver二进制文件的系统路径。
例子
from selenium import webdriver
from selenium.webdriver.firefox.options import Options
options = Options()
options.add_argument("start-maximized")
options.add_argument("--headless")
driver = webdriver.Firefox(options=options, executable_path=r'C:\Utility\BrowserDrivers\geckodriver.exe')
driver.get("http://google.com/")
Run Code Online (Sandbox Code Playgroud)
但在您的代码试验中,您传递了Firefox二进制文件的绝对路径,而不是GeckoDriver二进制文件。如果您的用例还要传递Firefox二进制文件的绝对路径,您可以使用以下代码行:
from selenium import webdriver
binary = r'C:\Program Files\Mozilla Firefox\firefox.exe'
options = webdriver.FirefoxOptions()
options.binary = binary
options.add_argument("start-maximized")
options.add_argument("--headless")
browser = webdriver.Firefox(firefox_options=options, executable_path="C:\\Utility\\BrowserDrivers\\geckodriver.exe")
browser.get('http://google.com/')
Run Code Online (Sandbox Code Playgroud)
您需要安装 geckodriver、firefox 和 selenium,并将路径添加到系统中的路径变量中或复制到 bin 目录中,您可以使用以下解决方案:
# install firefox, geckodriver, and selenium
!apt-get update
!pip install selenium
!apt install firefox-geckodriver
!cp /usr/lib/geckodriver /usr/bin
!cp /usr/lib/firefox /usr/bin
from selenium import webdriver
binary = '/usr/bin/firefox'
options = webdriver.FirefoxOptions()
options.binary = binary
options.add_argument('start-maximized')
options.add_argument('--headless')
browser = webdriver.Firefox(firefox_options=options, executable_path='/usr/bin/geckodriver')
browser.get('http://google.com/')
Run Code Online (Sandbox Code Playgroud)
根据您在评论中提到的错误,当您使用ipython
选项时,应在单引号内传递 asstart-maximized
和--headless
。此外,在指定和executable_path
之间不应有任何空格字符raw string literals marker
string
您可以在SyntaxError: invalid syntax withexecutable_path in ipython 中找到相关讨论
对于GeckoDriver、Selenium和Firefox 浏览器兼容性图表,您可以在WebDriverException: Message: invalid argument: can't Kill an exited process with GeckoDriver, Selenium and Python on RaspberryPi3中找到相关讨论
归档时间: |
|
查看次数: |
2842 次 |
最近记录: |