这是我的代码:
from selenium import webdriver
browser = webdriver.Firefox()
browser.get('http://www.python.org')
browser.close()
它在我运行此脚本时启动了firefox浏览器,但页面为空,然后命令行显示错误消息:
Traceback (most recent call last):
File "ad.py", line 3, in <module>
browser = webdriver.Firefox()
File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/firefox/webdriver.py", line 76, in __init__
keep_alive=True)
File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/remote/webdriver.py", line 92, in __init__
self.start_session(desired_capabilities, browser_profile)
File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/remote/webdriver.py", line 179, in start_session
response = self.execute(Command.NEW_SESSION, capabilities)
File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/remote/webdriver.py", line 236, in execute
self.error_handler.check_response(response)
File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/remote/errorhandler.py", line 192, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.WebDriverException: Message: connection refused
我的python vesion是2.7.3,而selenium版本是selenium-3.0.0.b3.egg-info
请问,我该如何解决问题……
解决方法:
检查你的geckodriver.log文件(应该与python文件在同一目录中)
如果显示错误:GDK_BACKEND与可用显示不匹配,则安装pyvirtualdisplay:
pip install pyvirtualdisplay selenium
您可能还需要xvfb:
sudo apt-get install xvfb # Debian
sudo yum install Xvfb # Fedora
from pyvirtualdisplay import display
display = display(visible=0, size=(800, 600))
display.start()
完整示例:
from pyvirtualdisplay import display
from selenium import webdriver
display = display(visible=0, size=(800, 600))
display.start()
browser = webdriver.Firefox()
browser.get('http://www.python.org')
browser.close()
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。