Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/413.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/351.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript HTMLUnit找不到元素_Javascript_Java_Htmlunit - Fatal编程技术网

Javascript HTMLUnit找不到元素

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]

使用HTMLUnit,我试图在使用Java登录后单击某个站点上的按钮

登录似乎是成功的,但是,当我尝试单击一个按钮(使用JS脚本并由id=“buttonGetDetails”定义)时,它抛出一个错误,它无法通过该id找到元素

“true”是我设置的bool,“login successful”是测试期间使用的
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错误。此外,尽量提供最小的可重复案例。