【问题标题】:Chromedriver open a blank page instead of the target website in selenium web driverChromedriver 在 selenium 网络驱动程序中打开一个空白页面而不是目标网站
【发布时间】:2020-08-10 13:00:57
【问题描述】:

我使用 chromedriver 在 selenium webdriver 中运行自动化测试,我正在使用 MacOS、chrome 版本 83、selenium 版本 3.141.59 和 TestNG 7.1.0。如果我遗漏了什么,请告诉我。

~ 公共类 ChromeDrive 扩展 Base 实现 DriverLoader {

@Override
public WebDriver load() {

    try {
        ChromeOptions options = new ChromeOptions();
        setArguments(options);
        driver.set(new ChromeDriver(options));
        Dimension targetSize = new Dimension(1500, 1000); //your screen resolution here
        driver.get().manage().window().setSize(targetSize);
    } catch (Exception e) {
        throw new RuntimeException("Please check Browser is exist Browser Unable to start");
    }
    return driver.get();
}

@Override
public WebDriver loadParallel() {
    try {
        ChromeOptions options = new ChromeOptions();
        DesiredCapabilities capabilities = new DesiredCapabilities();
        setArguments(options);
        capabilities.setCapability(ChromeOptions.CAPABILITY, options);
        capabilities.setCapability(CapabilityType.BROWSER_NAME, "chrome");
        capabilities.setCapability("name", currentTestName);

        if (ReadData("isRemote").equalsIgnoreCase("true")) {
            String hubUrl = "http://192.168.3.2:4444/wd/hub";
            driver.set(new RemoteWebDriver(new URL(hubUrl), capabilities));
        } else {
            driver.set(new ChromeDriver(options));
        }
    } catch (Exception e) {
        throw new RuntimeException("Please check Browser is exist Browser Unable to start" + e);
    }

    Dimension targetSize = new Dimension(1500, 1000); //your screen resolution here
    driver.get().manage().window().setSize(targetSize);
    return driver.get();
}


private void setArguments(ChromeOptions options) {
    boolean isUnix = setChromeBrowser(OsValidator.getDeviceOs());
    isUnix(options, isUnix);
    Map<String, Object> prefs = new HashMap<>();
    prefs.put("profile.default_content_setting_values.notifications", 2);
    options.setPageLoadStrategy(PageLoadStrategy.NONE);
    options.addArguments("--no-sandbox");
    options.addArguments("--start-maximized");
    //options.addArguments("--always-authorize-plugins");
    //options.addArguments("enable-automation");
    options.addArguments("--disable-web-security");
    options.addArguments("-incognito");
    options.setExperimentalOption("prefs", prefs);
    options.addArguments("--allow-running-insecure-content");
}

private void isUnix(ChromeOptions options, boolean isUnix) {
    if (isUnix) {
        options.addArguments("--headless");
    }
}

【问题讨论】:

    标签: java selenium testing automation selenium-chromedriver


    【解决方案1】:

    你没有告诉他网址

    driver.get("https://stackoverflow.com/");
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-10-20
      • 2011-07-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多