让Chrome通过Selenium发布

时间:2013-07-02 22:03:58

标签: python selenium selenium-webdriver selenium-chromedriver

大家好我对此非常陌生,并且在使用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')  

非常感谢任何帮助。谢谢。

7 个答案:

答案 0 :(得分:19)

设置它的两种方法,你以某种方式混淆了。

  • 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')

选择您想要的任何一个。

答案 1 :(得分:2)

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

答案 2 :(得分:0)

我使用了以下内容,并且有效!谢谢!

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

答案 3 :(得分:0)

即使PATH中有chromedriver.exe,也有必要在可执行脚本所在的文件夹中有chromedriver.exe(关于python脚本,情况也是如此)

答案 4 :(得分:0)

对于 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')

答案 5 :(得分:0)

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={您的配置文件路径}")”
  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)

答案 6 :(得分:-1)

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();

*注意: