【问题标题】:Using chrome driver for find element使用 chrome 驱动程序查找元素
【发布时间】:2017-07-14 22:32:02
【问题描述】:

我正在使用驱动程序 chrome 以编程方式点击按钮,但我无法访问 chrome.exe

static IWebDriver driverchromeDriver;
    public void chromeDriver()
    {
        driverchromeDriver = new ChromeDriver(@"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe");
        driverchromeDriver.Navigate().GoToUrl("http://www.google.com");
        driverchromeDriver.FindElement(By.Id("lst-ib")).SendKeys("qwe");
        driverchromeDriver.FindElement(By.Id("lst-ib")).SendKeys(OpenQA.Selenium.Keys.Enter);
    }

但它显示了这个问题: 附加信息:文件 C:\Program Files (x86)\Google\Chrome\Application\chrome.exe\chromedriver.exe 不存在。驱动可以在http://chromedriver.storage.googleapis.com/index.html下载

【问题讨论】:

    标签: c# bots


    【解决方案1】:

    显然它需要一个名为“chromedriver.exe”的文件位于您在构造函数中指定的目录中。 “chromedriver.exe”似乎在ChromeDriver 中被硬编码。如果您在提供的链接处下载 chromedriver.exe 并将代码更改为:

    driverchromeDriver = new ChromeDriver(@"path where chromedriver.exe is located");
    

    它应该可以工作。

    附带说明:chromedriver.exe 与 Chrome 不同。 Chrome 是实际的浏览器,chromedriver.exe 是用于自动化测试的实际 WebDriver。所以我不会把chromedriver.exe和Chrome放在同一个目录中。

    【讨论】:

    • 你的意思是这个文件:\WebsiteOpening\bin\Debug\WebDriver.dll 吗?
    • WebDriver.dll 是 Selenium。 Selenium 不支持开箱即用的 chrome。每个浏览器供应商都创建了自己的驱动程序,Selenium 可以与之通信。这就是 chromedriver.exe 正在做的事情。这就是为什么您需要从您发布的网址下载它并让ChromeDriver 知道在哪里可以找到它
    猜你喜欢
    • 2020-05-15
    • 2018-08-15
    • 2017-07-02
    • 2022-11-04
    • 2012-11-19
    • 1970-01-01
    • 2017-09-14
    • 2022-11-07
    • 2017-02-01
    相关资源
    最近更新 更多