首页 > 解决方案 > Selenium Python - 网络驱动程序

问题描述

我正在使用 selenium 爬取一个 javascript 网站,问题是,Firefox 浏览器打开,但对 URL 的调用没有完成。但是,当我关闭浏览器时,就完成了对 URL 的调用,当然我得到了缺少的驱动程序异常。你认为这个问题是从哪里来的。

知道:

示例:在我的本地机器上,我运行这个脚本,一切都很顺利,但是当我在服务器(Linux)上运行它时,只有浏览器打开并且没有调用获取 URL

from selenium import webdriver
import time

geckodriver_path = r'.../geckodriver'

driver = webdriver.Firefox(executable_path= geckodriver_path)
time.sleep(3)
driver.get("http://www.stackoverflow.com")

标签: pythonselenium

解决方案


我最终找到了解决方案:

from selenium import webdriver
import time
from selenium.webdriver.firefox.firefox_binary import FirefoxBinary

geckodriver_path = r'/path_to/geckodriver'

binary = FirefoxBinary(r'/usr/bin/firefox')

capabilities = webdriver.DesiredCapabilities().FIREFOX
capabilities["marionette"] = False

driver = webdriver.Firefox(firefox_binary=binary,
                           executable_path= geckodriver_path,
                           capabilities=capabilities)

time.sleep(3)
driver.get("https://stackoverflow.com/")
time.sleep(6)
driver.close()

# solution from: 
# https://github.com/SeleniumHQ/selenium/issues/3884
# https://stackoverflow.com/questions/25713824/setting-path-to-firefox-binary-on-windows-with-selenium-webdriver

推荐阅读