我可以在不使用chromedriver.exe的情况下为Chrome使用Selenium(webdriver)吗?

时间:2015-07-20 07:51:00

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

我一直在努力研究Selenium,我们可以将它纳入我们的测试中。我已经阅读并观看了一些教程,它基本上需要使用chromedriver.exe设置为webdriver.chrome.driver属性。但是,我们公司的政策限制我们使用/执行exe文件。因此,当我尝试使用Selenium chrome的代码时,我收到一个错误,即尝试执行的exe是未授权的。

所以我的问题是,有什么办法可以在不使用chromedriver.exe的情况下将Selenium用于chrome吗?如果您知道文档,turorial甚至是YouTube指南的链接,请告诉我们。谢谢!

7 个答案:

答案 0 :(得分:2)

我认为不使用chromedriver.exe就无法在Selenium中使用Chrome浏览器。这同样适用于Internet Explorer。

但是,如果您真的被禁止使用.exe文件,那么在Firefox中执行测试脚本会很有帮助。您需要做的就是添加以下代码:

driver = new FirefoxDriver();

对于Firefox,无需引用任何.exe文件。希望这有帮助!

答案 1 :(得分:0)

不,你不能。您可以给出chrome当前安装文件夹的内置exe路径的路径,或者您必须提供chrome exe路径。因为selenium只支持firefox作为功能的构建。

答案 2 :(得分:0)

如果不使用chromedriver.exe

,请不要将selenium用于chrome浏览器

答案 3 :(得分:0)

这可能不是一个好习惯,但你可以使用AutoIT来做到这一点。使用项目中的Runtime类启动chrome浏览器和AutoIT代码。

AutoIT代码:

winwait("title","","10")
If winexist("title") Then
   winactivate("title")
endif

答案 4 :(得分:0)

如果您的项目是基于Maven的,则可以添加以下依赖项。这有ChromeDriverManager类,它负责chromedriver二进制文件,还维护最新版本的二进制文件,减少了手动维护驱动程序exe文件的手动工作。

<dependency>
            <groupId>io.github.bonigarcia</groupId>
            <artifactId>webdrivermanager</artifactId>
            <version>1.7.2</version>
            <scope>test</scope>
</dependency>

ChromeDriverManager.getInstance().setup();
driver = new ChromeDriver();
driver.get("http://www.google.co.in");

我最近尝试了这个,但仍然需要评估利弊。如果获得更多信息,请提及您的优缺点。 感谢。

答案 5 :(得分:0)

如果这是基于Maven的项目,并且您正在使用最新版本的selenium-chrome-driver和webdrivermanager,则可以尝试在pom.xml中使用以下依赖项

    <dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-chrome-driver</artifactId>
        <version>3.141.59</version>
    </dependency>
    <dependency>
        <groupId>io.github.bonigarcia</groupId>
        <artifactId>webdrivermanager</artifactId>
        <version>3.7.1</version>
    </dependency>

使用WebDriverManager,

    WebDriverManager.chromedriver().setup();
    WebDriver driver = new ChromeDriver();
    driver.get("http://google.com");  

答案 6 :(得分:0)

是的,您无需下载 chromedriver.exe 文件即可使用

pip install webdriver-manager

from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager

driver = webdriver.Chrome(ChromeDriverManager().install())

去官方网站了解更多信息。

https://pypi.org/project/webdriver-manager/