IWait<IWebDriver> wait = new OpenQA.Selenium.Support.UI.WebDriverWait(driver, TimeSpan.FromSeconds(30.00));
wait.Until(driver1 => ((IJavaScriptExecutor)driver).ExecuteScript("return document.readyState").Equals("complete"));
Element.click();
vs
wait.until(ExpectedConditions.elementToBeClickable(By.xpath(xPath)));
driver.findElement(By.xpath(xPath)).click();
好的哪种方法更好?我知道有时页面上不会出现一个元素,我想尽可能地考虑它(不要浪费时间等待显式等待抛出异常)。
我试图尽快解析错误,我唯一担心的是即使在document.readyState完成后元素仍然不存在,或者文档有时永远不会达到该状态,因为javascript将继续执行,并编辑DOM。