#java #selenium #google-chrome #selenium-webdriver #selenium-chromedriver
#java #selenium #google-chrome #selenium-webdriver #selenium-chromedriver
Вопрос:
Я не могу ввести URL-адрес в браузере chrome, поскольку в данный момент браузер открывается, но URL-адрес не вводится автоматически. Вероятно, это какая-то проблема с браузером.
Код является:
import java.util.concurrent.TimeUnit;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.support.ui.WebDriverWait;
public class OpenBidAssist {
public static void main(String[] args) {
System.setProperty("webdriver.chrome.driver", "/usr/bin/google-chrome");
System.out.println("TEST1");
WebDriver driver=new ChromeDriver();
WebDriverWait wait=new WebDriverWait(driver, 20);
System.out.println("TEST2");
driver.get("https://stg-cipher-fe.ofbusiness.in/");
System.out.println("TEST3");
}
}
Ошибка, которую я получаю, заключается в:
TEST1
Created new window in existing browser session.
Exception in thread "main" org.openqa.selenium.WebDriverException: Timed out waiting for driver server to start.
Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:25:48'
System info: host: 'ofbl219-Latitude-3480', ip: '127.0.1.1', os.name: 'Linux', os.arch: 'amd64', os.version: '4.4.0-49-generic', java.version: '1.8.0_181'
Driver info: driver.version: ChromeDriver
at org.openqa.selenium.remote.service.DriverService.waitUntilAvailable(DriverService.java:202)
at org.openqa.selenium.remote.service.DriverService.start(DriverService.java:188)
at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:79)
at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:552)
at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:213)
at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:131)
at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:181)
at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:168)
at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:123)
at OpenBidAssist.main(OpenBidAssist.java:13)
Caused by: org.openqa.selenium.net.UrlChecker$TimeoutException: Timed out waiting for [http://localhost:11320/status] to be available after 20006 ms
at org.openqa.selenium.net.UrlChecker.waitUntilAvailable(UrlChecker.java:100)
at org.openqa.selenium.remote.service.DriverService.waitUntilAvailable(DriverService.java:197)
... 9 more
Caused by: java.util.concurrent.TimeoutException
at java.util.concurrent.FutureTask.get(FutureTask.java:205)
at com.google.common.util.concurrent.SimpleTimeLimiter.callWithTimeout(SimpleTimeLimiter.java:156)
at org.openqa.selenium.net.UrlChecker.waitUntilAvailable(UrlChecker.java:75)
... 10 more
Кто-нибудь может мне в этом помочь.
Заранее спасибо,
Ответ №1:
заменить System.setProperty("webdriver.chrome.driver", "/usr/bin/google-chrome");
с путем к exe-файлу, подобным System.setProperty("webdriver.chrome.driver", "your path of Driver/chromedriver.exe");
Комментарии:
1. Новый код: — общедоступная статическая пустота main(строка[] аргументов) { System.setProperty(«webdriver.chrome.driver», «/opt/google / chrome/google-chrome»); драйвер WebDriver=новый ChromeDriver(); System.out.println(«TEST2″); driver.get(» stg-cipher-fe.ofbusiness.in /» ); } } Ошибка: — «Не удалось установить политику ссылки: значение ‘strict-origin’ не является одним из ‘всегда’, ‘по умолчанию’, ‘никогда’, ‘без ссылки’, ‘без ссылки при понижении’, ‘origin’, ‘origin-при-перекрестном запуске’ или ‘небезопасный url’. Политика ссылок оставлена без изменений.», источник: google.com/_/chrome/newtab?espv=2amp;ie=UTF-8
Ответ №2:
Это сообщение об ошибке…
Exception in thread "main" org.openqa.selenium.WebDriverException: Timed out waiting for driver server to start.
… подразумевает, что вашей программе не удалось запустить новый процесс WebDriver, т.е. ChromeDriver.
Ваша основная проблема заключается в значении, которое вы передали в System.setProperty()
строку.
Вместо абсолютного пути к двоичному файлу клиента Google Chrome вам необходимо передать абсолютный путь к ChromeDriver. Итак, вам нужно:
-
Изменить:
"/usr/bin/google-chrome"
-
С:
"/path/to/chromedriver"
По сути, вам необходимо:
-
Изменить:
System.setProperty("webdriver.chrome.driver", "/usr/bin/google-chrome");
-
С:
System.setProperty("webdriver.chrome.driver", "/path/to/chromedriver");
Примечание: Вы можете загрузить соответствующую версию ChromeDriver с ChromeDriver — WebDriver для Chrome
Ответ №3:
Из вашего кода совершенно ясно, что вы пытаетесь создать ChromeDriver, но путь к исполняемому файлу указан неверно.
Загрузите последнюю версию исполняемого файла ChromeDriver из загрузок chromedriver
Затем замените
System.setProperty(«webdriver.chrome.driver», «/usr/bin/google-chrome»);
с
System.setProperty(«webdriver.chrome.driver», «/путь к chromedriver/chromedriver.exe «);
Ответ №4:
Мы потратили необычайно много времени, выясняя, почему мы получили именно эту ошибку на серверах сборки, но не на станциях разработчика. Вы можете получить эту ошибку, когда Chrome не установлен. Путь к ChromeDriver.exe может быть идеальным, но вы все равно получите эту ошибку, если у вас также нет Chrome. Когда вы запускаете ChromeDriver.exe вручную он запустится и будет реагировать без установленного Chrome, вы можете запросить его по http://localhost:9515/status но он по-прежнему не будет работать в тестовом режиме.