我在python中编写了这个代码,它位于selenium webdriver中。
我想在Chrome浏览器中打开链接,浏览器已经开始但无法获取网址。
def setUp(self):
self.browser = webdriver.Chrome("/usr/bin/google-chrome")
browser = self.browser
browser.implicitly_wait(5)
browser.get("http://www.google.com")
这会出现此错误:
ERROR: test_start (__main__.Saletest)
----------------------------------------------------------------------
Traceback (most recent call last):
File "sale_test.py", line 16, in setUp
self.browser = webdriver.Chrome("/usr/bin/google-chrome")
File "/usr/local/lib/python2.7/dist- packages/selenium/webdriver/chrome/webdriver.py", line 60, in __init__
self.service.start()
File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/chrome/service.py", line 88, in start
os.path.basename(self.path) + "'")
WebDriverException: Message: Can not connect to the 'google-chrome'
答案 0 :(得分:0)
基本上Selenium找到你的二进制文件,但无法连接到它。
试试这个,这似乎与你的问题相对应:) WebDriverException: Message: 'Can not connect to the ChromeDriver'. Error in utils.is_connectable(self.port):
答案 1 :(得分:0)
webdriver.Chrome
期望提供的第一个参数是executable_path
- chromedriver
的路径,但是您要将路径传递给Chrome
本身。
executable_path
参数是可选的。如果chromedriver
位于PATH
且selenium可以自动找到它,则无需明确说明它所在的位置。
如果您想提供自定义Chrome
浏览器可执行文件,请通过Chrome
定义ChromeOptions
二进制位置:
options = Options()
options.binary_location = "/path/to/google-chrome"
driver = webdriver.Chrome(chrome_options=options)
而且,为了完整起见,以下是在您拥有自定义chromedriver
路径和自定义Chrome
浏览器二进制路径时设置的外观:
options = Options()
options.binary_location = "/path/to/google-chrome"
driver = webdriver.Chrome(executable_path="/path/to/chromedriver",
chrome_options=options)