#java #selenium
#java #selenium
Вопрос:
package main_files;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
public class main_downloader {
public static void main(String[] args) throws Exception {
System.setProperty("webdriver.gecko.driver", "path\geckodriver.exe");
WebDriver driver = new FirefoxDriver();
driver.wait(1);
driver.get("https://www.google.com/");
driver.wait(5);
driver.quit();
}
}
по какой-то причине, когда я пытаюсь запустить этот код, он выдает мне эту ошибку
1597445198205 geckodriver INFO Listening on 127.0.0.1:7834
1597445198836 mozrunner::runner INFO Running command: "C:\Program Files\Mozilla Firefox\firefox.exe" "--marionette" "-foreground" "-no-remote" "-profile" "C:\Users\ahmed\AppData\Local\Temp\rust_mozprofileinTqzS"
JavaScript error: resource://gre/modules/XULStore.jsm, line 66: Error: Can't find profile directory.
console.error: SearchCache: "_readCacheFile: Error reading cache file:" (new Error("", "(unknown module)"))
1597445201342 Marionette INFO Listening on port 22663
1597445201445 Marionette WARN TLS certificate errors will be ignored for this session
Aug 15, 2020 1:46:41 AM org.openqa.selenium.remote.ProtocolHandshake createSession
INFO: Detected dialect: W3C
Exception in thread "main" java.lang.IllegalMonitorStateException
at java.lang.Object.wait(Native Method)
at main_files.main_downloader.main(main_downloader.java:10)
я пробовал некоторые решения, но ничего не получалось!, кто-нибудь может помочь, пожалуйста !? Спасибо.
Комментарии:
1. Чего вы надеетесь достичь с помощью строк
driver.wait(1)
иdriver.wait(5)
?
Ответ №1:
вызов функции wait() должен вызываться из синхронизированного блока, чтобы избежать этого исключения. Вы хотите перевести основной поток в режим ожидания, если да, пожалуйста, используйте Thread.sleep() вместо вызова функции wait().