除thread.sleep()
以外,还有其他方法可以设置等待winium驱动程序的方法。我尝试了隐式等待,但是得到了这个异常:
“'setTimeout'无效或未实现命令”
下面是代码段:
options = new DesktopOptions();
options.setApplication(String);
driver = new winiumDriver(new URL("..."),options);
driver.manage().timeouts().implicitlyWait(20000, TimeUnit.SECONDS);
不理想的是在网页加载后进行隐式等待。
最好的方法是设置一个元素的等待时间。
例如:当特定元素/您希望与之交互的元素出现在页面上,然后您与该元素进行交互,或者等待该元素变得可交互。
尝试一下:
WebDriverWait wait = new WebDriverWait(driver,5)
wait.until(ExpectedConditions.visibilityOf(element));
或者您可以利用ExpectedConditions并利用ExpectedConditions.elementToBeClickable
WebElement element = (new WebDriverWait(driver, 10)).until(ExpectedConditions.elementToBeClickable(By.id("someid")));