Selenium Chromedriver открывается с данными :, в навигационной панели - PullRequest
0 голосов
/ 15 марта 2019

если я открываю Chrome с помощью chromedriver и перехожу на URL, я получаю только данные: на панели навигации. Все гугл-решения (правильная хром-версия, протоколл в URL и т. Д.) Мне не помогли.

package de.vhv.selenium;

import org.junit.Test;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;

public class OpenChromeAndNavigate {

    @Test
    public void test() {
        System.setProperty("webdriver.chrome.driver", "C://vhventw//selenium//chromedriver.exe");
        WebDriver driver = new ChromeDriver();
        driver.get("https://www.google.de");
    }

}

Кроме того, все работает, если я добавляю --headless и слушаю отладочный порт. Но я не хочу, чтобы он работал без головы.

 package de.vhv.selenium;

import org.junit.Test;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.chrome.ChromeOptions;

public class OpenChromeAndNavigate {

    @Test
    public void test() {
        System.setProperty("webdriver.chrome.driver", "C://vhventw//selenium//chromedriver.exe");
        WebDriver driver = new ChromeDriver(getDesiredCapabilities());
        driver.get("https://www.google.de");
    }

    private ChromeOptions getDesiredCapabilities() {
        ChromeOptions options = new ChromeOptions();


        options.addArguments("--headless");
//        options.addArguments("--disable-extensions"); // disabling extensions
//        options.addArguments("--disable-gpu"); // applicable to windows os only
//        options.addArguments("--disable-dev-shm-usage"); // overcome limited resource problems
//        options.addArguments("--no-sandbox");
        options.addArguments("--remote-debugging-port=9223");


        return options;
    }

}

Есть идеи, что я могу попробовать?

Установка:

Версия Chrome = 71.0.3578.80

Версия Chromedriver = 2.46.628402

Ответы [ 2 ]

0 голосов
/ 12 апреля 2019

Я выяснил, что строка

options.addArguments ("- remote-debugging-port = 9225");

исправила мою проблему.Я уже использовал его в безголовых пробежках, чтобы слушать порт и наблюдать за безголовыми пробежками.Но это исправило мою проблему с пробежками головой.

return new ChromeDriver(getDesiredCapabilities());



private ChromeOptions getDesiredCapabilities() {
    ChromeOptions options = new ChromeOptions();
    //options.addArguments("--headless");
    options.addArguments("--disable-extensions"); // disabling extensions
    options.addArguments("--disable-gpu"); // applicable to windows os only
    options.addArguments("--disable-dev-shm-usage"); // overcome limited resource problems
    options.addArguments("--no-sandbox");
    options.addArguments("--remote-debugging-port=9225");

    return options;
}
0 голосов
/ 15 марта 2019

Вам необходимо позаботиться о нескольких вещах:

  • Не уверен насчет вашей структуры проекта , но я предлагаю избежать . символ и слово selenium в имени пакета как в:

    package de.vhv.selenium;
    
  • Значение часть, прошедшая через System.setProperty() строку, содержащую абсолютный путь из chromedriver.exe должна быть выражена через экранированные обратные косые черты как:

    System.setProperty("webdriver.chrome.driver", "C:\\vhventw\\selenium\\chromedriver.exe");
    
  • Согласно ChromeDriver - WebDriver для Chrome :

Если вы используете Chrome версии 72 , пожалуйста, скачайте ChromeDriver 2.46 или ChromeDriver 72.0.3626.69

  • Согласно рекомендациям:
    • Обновление JDK до последних уровней JDK 8u202 .
    • Обновление Selenium до текущих уровней Версия 3.141.59 .
    • Обновление ChromeDriver до текущего ChromeDriver v73.0.3683.68 уровень.
    • Сохранить Chrome версия между Chrome v73 уровней.( в соответствии с примечаниями к выпуску ChromeDriver v73.0.3683.68 )
    • Очистка вашего рабочего пространства проекта через IDE и Перестройте ваш проект только с необходимыми зависимостями.
    • Если ваша базовая Веб-клиент версия устарела, удалите ее через Revo Uninstaller и установите последнюю версию GA и выпущенную версию веб-клиента .
    • Выполните перезагрузку системы .
    • Выполните @Test.
    • Всегда вызывайте driver.quit() в методе tearDown(){}, чтобы корректно закрыть и уничтожить WebDriver и Веб-клиент экземпляров.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...