我想与硒webdriver同步和东西不隐式地处理()。与implicitwait同步()不起作用,为什么?
我明白implicitlyWait(..)的方式是,代码是等待直到元素是可用于最大的时间。
下面崩溃的代码与错误:
org.openqa.selenium.InvalidElementStateException: invalid element state: Element is not currently interactable and may not be manipulated
的System.out的IST印刷: - >>假真假(isDiplayed()的IsEnabled(),选择())
private static WebDriver driver;
public static void main(String[] args) throws InterruptedException {
setupWebDriverChrome();
//Thread.sleep(1000);
final String cssSelectorFromAirport = "div.od-airportselector.airportselector_root input[tabindex='11']";
final By cssSelector = By.cssSelector(cssSelectorFromAirport);
WebElement fromAirportElement = driver.findElement(cssSelector);
System.out.println("-->> " + fromAirportElement.isDisplayed() + " " + fromAirportElement.isEnabled() + " " + fromAirportElement.isSelected());
fromAirportElement.clear();
fromAirportElement.sendKeys("MUC");
}
private static void setupWebDriverChrome() {
System.setProperty("webdriver.chrome.driver", "C:\\...\\chromedriver.exe");
setupLocation();
}
private static void setupLocation() {
driver.manage().timeouts().implicitlyWait(1000, TimeUnit.MILLISECONDS);
driver.get("https://www.opodo.de/");
}
我试过这也与Geckodriver具有相同的结果。
我也增加了等待时间,但同样的结果。
,使其工作的唯一办法,就是使用了Thread.sleep()(以上评论)
编辑 PLS。请注意,我没有看到与Selenium implicitwait not working重复。
@ Janith1024我所见过的线程侑意思,但我没有看到任何重复。如果你的意思是有重复请求。解释为什么 – ken