什么是ChromeDriver的默认位置以及在Windows上安装Chrome

时间:2018-04-12 04:54:24

标签: google-chrome selenium selenium-webdriver webdriver selenium-chromedriver

我需要在Windows操作系统上安装<set-property propertyName="MULE_ENCODING" value="UTF-16" doc:name="Property" /> 。在下面的文章中,他们指定:

https://sites.google.com/a/chromium.org/chromedriver/getting-started

  

“... ChromeDriver希望您安装默认的Chrome   您平台的位置......“

但我不确定默认位置是什么?

Mac 操作系统上chromedriver

有了这个,我不必明确指定路径或设置系统路径。

如何在Windows操作系统上实现相同的目标?

5 个答案:

答案 0 :(得分:6)

这两个相互关联的重要问题如下:

  • ChromeDriver
  • 的默认位置
  • Chromium / Google Chrome 的默认位置

ChromeDriver

您可以从ChromeDriver - WebDriver for Chrome页面下载最近发布的 ChromeDriver ,并将其放置在系统中的任何位置。初始化 ChromeDriver 时,您需要传递 ChromeDriver 二进制文件的绝对路径。

此外,您还可以通过以下步骤帮助 WebDriver 找到下载的 ChromeDriver 可执行文件:

  • 在系统 PATH 环境变量中包含 ChromeDriver 位置。
  • Java )通过webdriver.chrome.driver 系统属性
  • 指定 ChromeDriver 的位置
  • Python )在实例化webdriver.Chrome()
  • 时指定 ChromeDriver 的位置

Chromium / Google Chrome

最重要的事实是,您需要确保 Chromium / Google Chrome 按照ChromeDriver - Requirements安装在公认的位置,因为服务器希望您拥有 Chromium / Google Chrome 按照快照安装在每个系统的默认位置:

ChromeDriver - Requirements

注意:对于Linux系统, ChromeDriver 希望/usr/bin/google-chrome成为实际 Chrome二进制文件的符号链接 即可。您还可以在Using a Chrome executable in a non-standard location后覆盖 Chrome二进制位置

示例代码块

  • Java

    import org.openqa.selenium.WebDriver;
    import org.openqa.selenium.chrome.ChromeDriver;
    
    public class A_Chrome 
    {
        public static void main(String[] args) 
        {
            // Optional : if not specified WebDriver will search your system PATH environment variable for locating the chromedriver
            System.setProperty("webdriver.chrome.driver", "C:\\path\\to\\chromedriver.exe");
            WebDriver driver =  new ChromeDriver();
            driver.get("https://www.google.co.in");
            System.out.println(driver.getTitle());
            driver.quit();
        }
    }
    
  • Python

    from selenium import webdriver
    
    # Optional argument : if not specified WebDriver will search your system PATH environment variable for locating the chromedriver
    driver = webdriver.Chrome(executable_path=r'C:\path\to\chromedriver.exe')
    driver.get('https://www.google.co.in')
    print("Page Title is : %s" %driver.title)
    driver.quit()
    

答案 1 :(得分:1)

对于Selenium必须用来打开浏览器(chromedrivergeckodriver等)的任何驱动程序,您不必担心它的安装位置,只要它设置在PATH变量。

如果您在操作系统PATH变量中设置了它,则必须能够从commandcmd运行它(确保它正常工作总是好的。)< / p>

以下是如何设置它(附加到现有值):

然后你可以按如下方式实例化它:

WebDriver driver = new FirefoxDriver();

OR

WebDriver driver = new ChromeDriver();

希望它有所帮助。

答案 2 :(得分:0)

Windows上的默认位置为:C:\Program Files\(select the folder you want to put your file)\chromedriver.exe

在Selenium代码中,正确粘贴驱动程序路径,例如:

System.setProperty("webdriver.chrome.driver", "C:\\Program Files\\Java\\chromedriver.exe");

答案 3 :(得分:0)

我的chromedriver软件包已安装在我的Python文件夹中。如果我没记错的话,我是用pip安装的。奇怪的是chromedriver文件夹不包含chromedriver.exe文件,我必须单独下载并移至site-packages文件夹。

C:\\Users\\_USERNAME_\\AppData\\Local\\Programs\\Python\\Python37\\Lib\\site-packages\\chromedriver

(我在路径中使用双\:s,因为单个\加上字母U(在C:-> \ U <-sers ...)将导致

SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape

答案 4 :(得分:0)

如果您将Python虚拟环境与'virtualenv'一起使用。您可以将chromedriver.exe放在虚拟环境的bin /目录中。

> virtual venv
> cd Users/username/Downloads/chromedriver(.exe) working/directory/path/venv/bin/

然后尝试使用虚拟环境的解释器运行Python脚本。