Javascript HTMLUnit找不到元素
使用HTMLUnit,我试图在使用Java登录后单击某个站点上的按钮 登录似乎是成功的,但是,当我尝试单击一个按钮(使用JS脚本并由id=“buttonGetDetails”定义)时,它抛出一个错误,它无法通过该id找到元素 “true”是我设置的bool,“login successful”是测试期间使用的Javascript HTMLUnit找不到元素,javascript,java,htmlunit,Javascript,Java,Htmlunit,使用HTMLUnit,我试图在使用Java登录后单击某个站点上的按钮 登录似乎是成功的,但是,当我尝试单击一个按钮(使用JS脚本并由id=“buttonGetDetails”定义)时,它抛出一个错误,它无法通过该id找到元素 “true”是我设置的bool,“login successful”是测试期间使用的System.out.println Error: elementName=[*] attributeName=[id] attributeValue=[buttonGetDetails]
System.out.println
Error:
elementName=[*] attributeName=[id] attributeValue=[buttonGetDetails]
true
Login successful
at com.gargoylesoftware.htmlunit.html.HtmlPage.getHtmlElementById(HtmlPage.java:1597)
登录后加载页面可能需要一些时间,并且在加载页面之前执行查找按钮的代码。尝试使用显式等待 不建议使用Thread.sleep,因为它可能会停止加载页面的过程。添加显式等待只需两行代码:
WebDriverWait wait=newwebdriverwait(driver,10);WebElement=wait.until(ExpectedConditions.elementtobelickable(By.id(“someid”))
使用htmlPage.asXml()
查看HtmlUnit看到的内容,并检查是否记录了任何JavaScript错误。此外,尽量提供最小的可重复案例。