我想在GoogleCol堕胎中使用geckodriver和Selenium包。以下是我尝试过的(我不是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)在这里,r'/usr/bin/firefox错了。我很困惑。解决办法是什么?任何帮助都是非常感谢的。
发布于 2019-08-19 09:32:12
executable_path
路径是用户可以传递GeckoDriver二进制文件的绝对路径的参数,该参数覆盖用于Firefox47.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/")但是在您的代码测试中,您已经通过了Firefox二进制而不是GeckoDriver二进制的绝对路径。如果您的usecase也要传递火狐二进制文件的绝对路径,则可以使用以下代码行:
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/')谷歌中的GeckoDriver -跨国界
您需要安装geckodriver、firefox和selenium,并将路径添加到系统中的path变量或在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/')更新1
根据注释中提到的错误,在使用ipython时,应该在单引号中传递选项,如start-maximized和--headless。此外,在指定raw string literals marker和string时,不应该有任何空格字符
您可以在ipython中的路径中找到相关的讨论
更新2
对于GeckoDriver、Selenium和Firefox浏览器兼容性图表,您可以在WebDriverException:消息:无效的参数:不能在RaspberryPi3上使用GeckoDriver、Selenium和Python杀死已退出的进程中找到相关的讨论。
https://stackoverflow.com/questions/57528718
复制相似问题