我正在研究Raspberry Pi,并试图运行基本的Selenium脚本。这是代码
from selenium import webdriver
d = webdriver.Firefox()
d.get("www.google.com")
发生的事情是打开了一个Firefox窗口,但没有响应。大约一分钟后,我收到以下消息:
File "testy.py", line 3, in <module>
d = webdriver.Firefox()
File "/home/pi/.local/lib/python3.5/site-packages/selenium/webdriver/firefox/webdriver.py", line 174, in __init__
keep_alive=True)
File "/home/pi/.local/lib/python3.5/site-packages/selenium/webdriver/remote/webdriver.py", line 157, in __init__
self.start_session(capabilities, browser_profile)
File "/home/pi/.local/lib/python3.5/site-packages/selenium/webdriver/remote/webdriver.py", line 252, in start_session
response = self.execute(Command.NEW_SESSION, parameters)
File "/home/pi/.local/lib/python3.5/site-packages/selenium/webdriver/remote/webdriver.py", line 321, in execute
self.error_handler.check_response(response)
File "/home/pi/.local/lib/python3.5/site-packages/selenium/webdriver/remote/errorhandler.py", line 242, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.WebDriverException: Message: connection refused
我的geckodriver处于最新状态。我在以前的帖子中已经看到,这可能是由于firefox版本存在问题。但是,我使用的是可以通过apt安装的最新版本(Mozilla Firefox 52.9.0)。非常感谢您的帮助。
答案 0 :(得分:2)
您需要在URL中指定协议,例如'http'或'https':
d.get("http://www.google.com")
答案 1 :(得分:1)
此错误消息...
File "testy.py", line 3, in <module>
d = webdriver.Firefox()
File "/home/pi/.local/lib/python3.5/site-packages/selenium/webdriver/firefox/webdriver.py", line 174, in __init__
keep_alive=True)
.
.
selenium.common.exceptions.WebDriverException: Message: connection refused
...表示 GeckoDriver 无法启动/产生新的 WebBrowser ,即 Firefox浏览器会话。
您的主要问题是所使用的二进制版本之间的不兼容性:
因此,根据以下supported platform matrix, GeckoDriver v0.24.0 和 Firefox浏览器v52.9.0 之间存在明显的不匹配:
Test
。driver.quit()
方法内调用tearDown(){}
,以优雅地关闭和销毁 WebDriver 和 Web Client 实例。答案 2 :(得分:0)
如果没有df_edgelist
/ http
,它将无法正常运行
https