使用chromedriver和selenium/python/ubuntu

Sah*_*heb 27 python selenium selenium-chromedriver selenium-webdriver

我正在尝试使用chromedriver执行一些测试,并尝试使用以下方法启动chromedriver.

driver = webdriver.Chrome('/usr/local/bin/chromedriver')
Run Code Online (Sandbox Code Playgroud)

driver = webdriver.Chrome(executable_path='/usr/local/bin/chromedriver')
Run Code Online (Sandbox Code Playgroud)

import os
from selenium import webdriver

chromedriver = "/usr/local/bin/chromedriver"
os.environ["webdriver.chrome.driver"] = chromedriver
driver = webdriver.Chrome(chromedriver)
driver.get("http://stackoverflow.com")
Run Code Online (Sandbox Code Playgroud)

但这些似乎都没有帮助,错误是: selenium.common.exceptions.WebDriverException: Message: 'ChromeDriver executable needs to be available in the path.

我已多次检查并且chromedriver位于现场/usr/local/bin.

我的脚本仍然无效.任何身体都可以帮助.

我的google-chrome位置是:/ usr/bin/google-chrome

小智 40

按照https://askubuntu.com/questions/539498/where-does-chromedriver-install-to的建议,我能够让它像这样工作:

  1. 安装了铬铬合金:

    sudo apt-get install chromium-chromedriver
    
    Run Code Online (Sandbox Code Playgroud)
  2. 添加到selenium行的路径:

    driver = webdriver.Chrome("/usr/lib/chromium-browser/chromedriver")
    
    Run Code Online (Sandbox Code Playgroud)

请注意,这会打开Chromium,而不是Chrome.希望它有所帮助.

  • 非常适合我 (2认同)
  • 我已经尝试了很多建议(例如设置 --no-sandbox、--disable-dev-shm-usage、使用 WebDriver Manager,我什至将 chromium 对齐到 google-chrome)。这甚至适用于 chromium 版本 102.xy (2认同)

小智 6

I have solved the issue in the following way:

  1. Open a terminal and type whereis chromedriver. In my case, I had the following output:

    chromedriver: /usr/local/bin/chromedriver

  2. Copy that path and edit your Webdriver instance like:

driver = webdriver.Chrome('/usr/local/bin/chromedriver')
Run Code Online (Sandbox Code Playgroud)

That should be enough!


Tyt*_*tus 5

以下应该正常工作:

driver = webdriver.Chrome(executable_path='/usr/local/bin/chromedriver')
Run Code Online (Sandbox Code Playgroud)

请注意,在您的问题中,路径中没有前面的“/”。

此外,请确保位于 /usr/local/bin/ 中的 chromedriver 可执行文件具有适当的文件权限,即可以执行它:

> chmod 777 /usr/local/bin/chromedriver
Run Code Online (Sandbox Code Playgroud)