所以,我正在使用像这样的硒:
#!/usr/bin/env python
from pyvirtualdisplay import Display
from selenium import webdriver
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
firefox_capabilities = DesiredCapabilities.FIREFOX
firefox_capabilities['marionette'] = True
browser = webdriver.Firefox(capabilities=firefox_capabilities)
# Set screen resolution to 1366 x 768 like most 15" laptops
display = Display(visible=0, size=(1366, 768))
display.start()
# Sets the width and height of the current window
browser.set_window_size(1366, 768)
# Open the URL
browser.get('http://www.vionblog.com/')
# set timeouts
browser.set_script_timeout(30)
browser.set_page_load_timeout(30) # seconds
# Take screenshot
browser.save_screenshot('vionblog.png')
# quit browser
browser.quit()
# quit Xvfb display
display.stop()
但是当我跑它时,它说:
Traceback(最近一次调用最后一次):文件“a.py”,第10行,在browser = webdriver.Firefox(capabilities = firefox_capabilities)文件“/usr/local/lib/python2.7/dist-packages/selenium/webdriver / firefox/webdriver.py“,第145行,在init self.service.start()文件”/usr/local/lib/python2.7/dist-packages/selenium/webdriver/common/service.py“,第81行,在启动os.path.basename(self.path),self.start_error_message)selenium.common.exceptions.WebDriverException:消息:'geckodriver'可执行文件需要在PATH中 .
谁能帮我这个?
1 回答
从您的错误消息
我们可以理解问题是Selenium无法找到geckodriver可执行文件 .
你有2个解决方案:
Add geckodriver.exe path to your PATH variable environment
Inform the geckodriver.exe path when starting the webdriver