我正在用chromedriver进行硒测试。但现在我需要在无头模式下做同样的事情。
以下是无头模式运行良好的程序 -
WebDriver driver = new HtmlUnitDriver();
driver.get("http://www.google.com");
WebElement element = driver.findElement(By.name("q"));
element.sendKeys("Guru99");
element.submit();
System.out.println("Page title is: " + driver.getTitle());
driver.quit();
现在问题是 -
当我尝试使用id
或xpath
读取元素时,程序以异常结束。
错误是
找不到这样的元素。
如何纠正此错误。我们欢迎任何帮助。
答案 0 :(得分:0)
导入这些:
import org.openqa.selenium.support.ui.ExpectedConditions;
import org.openqa.selenium.support.ui.WebDriverWait;
并使用此:
WebDriverWait wait5s = new WebDriverWait(driver,5);
WebDriver driver = new HtmlUnitDriver();
driver.get("http://www.google.com");
WebElement element = wait5s.until(ExpectedConditions.elementToBeClickable(By.name("q")));
element.sendKeys("Guru99");
element.submit();
System.out.println("Page title is: " + driver.getTitle());
driver.quit();
你应该能够通过ID,xpath等找到元素。