【问题标题】:Getting Chrome to launch via Selenium让 Chrome 通过 Selenium 启动
【发布时间】:2013-06-30 11:17:38
【问题描述】:

我在从 python 中的 selenium 获取 Chrome 浏览器实例时遇到问题。我使用的是 Windows 8。我已经下载了 chromedriver 二进制文件并将其添加到我的路径中,但在 Python 中出现以下错误:

selenium.common.exceptions.WebDriverException: Message: 'ChromeDriver executable needs to be available in the path.   

以下行出现此错误:

driver = webdriver.Chrome(executable_path='path\to\chromedriver_win32_2.0')  

【问题讨论】:

  • 你读过this了吗?
  • 点击作品“this”。
  • 天哪,这太愚蠢了,看不到链接。抱歉,我阅读了它,但没有关于 Windows 8 的 Chrome 预计安装位置的信息。
  • 您需要下载链接中提供的 chrome 驱动程序,并使其在路径中可用。
  • 感谢您的回复,但如果您阅读了这个问题,我已经这样做了。

标签: python selenium selenium-webdriver selenium-chromedriver


【解决方案1】:

两种设置方式,你搞混了。

  • chromedriver.exe的路径放入PATH(在Windows上),这样你的PATH设置是正确的,但是你需要调用默认的构造函数。

    driver = webdriver.Chrome()

  • webdriver.Chrome(executable_path='some path') 中指定路径。这里需要的是可执行文件的完整路径,而不是目录。

    webdriver.Chrome(executable_path=r'C:\Users\HaranKumar\Downloads\chromedriver_win32_2.0\chromedriver.exe')

选择你想要的任何一个。

【讨论】:

  • 对于 windows 使用双斜杠 webdriver.Chrome(executable_path='C:\\drivers\\chromedriver.exe')
【解决方案2】:

假设您的路径是正确的,请确保您包含 chromedriver 本身:chromedriver.exe

【讨论】:

  • 拥有PATH 中的文件对我来说还不够。把它放到`Python\Scripts`。
【解决方案3】:

我使用了以下方法并且成功了!谢谢!

driver = webdriver.Chrome(executable_path=r'C:\chromedriver.exe')
#put your own path between the ''

【讨论】:

    【解决方案4】:

    即使您在 PATH 中有 chromedriver.exe,也必须在您的可执行脚本所在的文件夹中有 chromedriver.exe(至少在涉及 python 脚本时也是如此)

    【讨论】:

      【解决方案5】:

      对于 python(selenium) 你需要:

      from selenium import webdriver
      from selenium.webdriver import Chrome
      from selenium.webdriver.chrome.options import Options
      

      然后把你的chromedriver.exe路径放进去。“r”只是为了防止它检测到\并导致python中的错误

      PATH = r"C:\Program Files (x86)\chromedriver.exe"
      driver = webdriver.Chrome(PATH)
      options = webdriver.ChromeOptions()
      

      您现在可以命令驱动程序获取网站

      driver.get('http://www.google.com')
      

      【讨论】:

        【解决方案6】:

        2021 年更新 对于 Python

        我让 Selenium 使用我的个人资料打开我的默认 Chrome 浏览器:

        options.add_argument("--user-data-dir=C:\\Users\\Sams\\AppData\\Local\\Google\\Chrome\\User Data")
        options.add_argument('--profile-directory=Default')
        
        1. 转到:chrome://version/
        2. 寻找您的“个人资料路径profile path image
        3. 复制您的配置文件路径并替换“options.add_argument("--user-data-dir={YOUR PROFILE PATH}")”
        4. 第二个参数也可能看起来不同。我的恰好是“默认”。对于其他,它可能是“Profile 1”或“Profile X” X 是一个递增的数字。
        5. 运行前关闭所有 Chrome 浏览器。因为 Chrome 驱动程序无法与您的其他标签页一起运行自动浏览器。

        这是我的整个 Selenium 配置。希望它可以帮助某人。

        from selenium import webdriver
        from selenium.webdriver.chrome.options import Options
        from selenium.webdriver.common.by import By
        from selenium.webdriver.support import expected_conditions as EC
        from selenium.webdriver.support.ui import WebDriverWait
        from webdriver_manager.chrome import ChromeDriverManager
        from selenium.webdriver.remote.webdriver import WebDriver
            
        
        options = Options()
        options.add_argument("--window-size=1920,1080")
        options.add_argument("--log-level=3")
        options.add_experimental_option('excludeSwitches', ['enable-logging'])
        
        
        # The 2 arguments below will use your main browser. 
        options.add_argument("--user-data-dir=C:\\Users\\Sams\\AppData\\Local\\Google\\Chrome\\User Data") # profile path (C)
        options.add_argument('--profile-directory=Default')
        
        options.headless = False # To show Chrome or not to show?
        PATH = (r"C:\Users\Sams\AppData\Local\Programs\Python\Python37-32\Lib\site-packages\selenium\webdriver\chrome\chromedriver.exe") 
        
        CHROMEDRIVER_PATH = PATH
        driver = webdriver.Chrome(CHROMEDRIVER_PATH, options=options)
        

        【讨论】:

          【解决方案7】:

          2016 年更新

          以下解决方案适用于我,使用 WebDriver 3.0.1、Chrome 驱动程序 2.25.426923、Window 7

              System.setProperty("webdriver.chrome.driver","D:\\workspace\\chromedriver.exe");
              WebDriver driver;
              driver = new ChromeDriver();
          

          *注意:

          【讨论】:

            猜你喜欢
            • 2015-11-16
            • 2017-05-26
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2011-09-19
            • 2011-11-17
            • 1970-01-01
            • 2016-12-02
            相关资源
            最近更新 更多