Мне нужна помощь для этой штуки, которая сводит меня с ума. Я хочу проверить URL-адрес браузера и бесконечный цикл, немного подождав (Thread.Sleep) между циклом и другим, чтобы не перегружать ЦП. Затем, если мне нужен URL-адрес браузера, я хочу добавить/изменить/удалить элемент с помощью Javascript до того, как страница будет полностью загружена, иначе человек, который использует это, может увидеть изменение. (Мне не нужна помощь для части javascript) Но есть проблема: кажется, что в Selenium Webdriver, когда я перехожу на страницу (с помощью .get(), .navigate().to() или также непосредственно из клиента ) выполнение принудительно останавливается до тех пор, пока страница не будет загружена. Я пытался установить «поддельный» тайм-аут, но (по крайней мере, в Chrome), когда он перехватывает TimeoutException, страница перестает загружаться. Я знаю, что в Firefox есть опция нестабильной загрузки, но я не хочу ее использовать, потому что моя программа не только для Firefox.
public static void main(String[] args) throws InterruptedException {
System.setProperty("webdriver.chrome.driver", "chromedriver.exe");
WebDriver driver = new ChromeDriver();
driver.manage().timeouts().pageLoadTimeout(0, TimeUnit.MILLISECONDS); // Fake timeout
while (true) {
try {
// If the url (driver.getCurrentUrl()) is what I want, then execute javascript without needing that page is fully loaded
// ...
// ...
}
catch (TimeoutException e) {
// It ignores the Exception, but unfortunately the page stops loading.
}
Thread.sleep(500); // Then wait some time to not overload the cpu
}
}
Мне нужно сделать это в Chrome и, если возможно, в Firefox и Internet Explorer. Я программирую на Java. Заранее спасибо.