0

用于自动下载chromedriverwebdrivermanager 1.7.1的二进制文件,但我收到“驱动程序不可执行”消息。

我知道解决方案chmod +x ../chromedriver,但需要一个自动化的过程!

非常感谢任何帮助。

谢谢

4

2 回答 2

0

试试这个 WebDriverManager 版本:

<!-- https://mvnrepository.com/artifact/io.github.bonigarcia/webdrivermanager -->
        <dependency>
            <groupId>io.github.bonigarcia</groupId>
            <artifactId>webdrivermanager</artifactId>
            <version>3.8.1</version>
        </dependency>
于 2020-02-22T19:24:24.807 回答
0

这里也有类似的问题。Chrome 可以工作,但 Firefox 不能。删除 geckodriver 文件夹并尝试过。

但是我在 geckdriver 上做了 chmod 777 并且它起作用了。

package frameWork;

import java.io.FileInputStream;
import java.io.IOException;
import java.util.Properties;
import java.util.concurrent.TimeUnit;

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.safari.SafariDriver;

import io.github.bonigarcia.wdm.WebDriverManager;

public class BaseClass {

    public WebDriver driver;

    public WebDriver initializeDriver() throws IOException {
        Properties p = new Properties();
        FileInputStream f = new FileInputStream("src/main/java/frameWork/data.properties");

        p.load(f);
        String browser = p.getProperty("browser");

        if(browser.equals("chrome")) {
            WebDriverManager.chromedriver().setup();
            driver = new ChromeDriver();

        } else if(browser.equals("firefox")) {
            WebDriverManager.firefoxdriver().setup();
            driver = new FirefoxDriver();

        } else {
            System.setProperty("webdriver.safari.driver","/usr/bin/safaridriver");
            driver = new SafariDriver();
        }

        //driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
        return driver;
    }

}

错误

[RemoteTestNG] 检测到 TestNG 版本 6.8.0 [TestNG] 正在运行:
/private/var/folders/q1/2vf46m2546926xbq00dw66l40000gp/T/testng-eclipse-1456133345/testng-customsuite.xml

[main] INFO io.github.bonigarcia.wdm.WebDriverManager - [wires, geckodriver] 的最新版本是 0.20.0 Mar 13, 2018 10:49:44 AM org.apache.http.client.protocol.ResponseProcessCookies processCookies 警告: cookie 标头无效:“Set-Cookie:logged_in=no;domain=.github.com;path=/;expires=Sat,2038 年 3 月 13 日 05:19:44 -0000;安全;HttpOnly”。无效的“过期”属性:2038 年 3 月 13 日星期六 05:19:44 -0000 警告:发生了非法反射访问操作警告:org.rauschig.jarchivelib.FileModeMapper$FileSystemPreferencesReflectionChmodCommand 的非法反射访问(文件:/Users/basil/ .m2/repository/org/rauschig/jarchivelib/0.7.1/jarchivelib-0.7.1.jar) 到方法 java.util.prefs.FileSystemPreferences.chmod(java.lang.String,int) 警告:请考虑将此报告给 org.rauschig.jarchivelib.FileModeMapper$FileSystemPreferencesReflectionChmodCommand 的维护者 警告:使用 --illegal-access=warn 启用对进一步非法反射访问操作的警告 警告:所有非法访问操作将在未来版本中被拒绝 3 月2018 年 13 月 13 日上午 10:49:50 org.rauschig.jarchivelib.FileModeMapper$UnixPermissionMapper chmod 警告:无法设置 /Users/basil/.m2/repository/webdriver/geckodriver/macos/0.20.0/geckodriver 的文件权限。例外是:null [main] WARN io.github.bonigarcia.wdm.Downloader - 错误设置文件 /Users/basil/.m2/repository/webdriver/geckodriver/macos/0.20.0/geckodriver-v0.20.0-macos.tar .gz 作为可执行文件 [main] INFO io.github.bonigarcia.wdm.WebDriverManager - 将 webdriver.gecko.driver 导出为 /Users/basil/。

于 2018-03-13T05:41:38.713 回答