bla*_*ube 26 java selenium timeout
这是我做的:
selenium.click("link=mylink");
selenium.waitForPageToLoad(60000);
// do something, then navigate to a different page
// (window focus is never changed in-between)
selenium.click("link=mylink");
selenium.waitForPageToLoad(60000);
Run Code Online (Sandbox Code Playgroud)
链接"mylink"确实存在,click()的第一次调用始终有效.但是第二次点击()有时似乎有效,有时则不然.
看起来似乎根本没有触发click()事件,因为页面甚至没有开始加载.不幸的是,这种行为是不确定的.
这是我已经尝试过的:
设置更长的时间超时
=>没有帮助
加载一个页面后等待元素存在
=>不起作用,因为页面甚至没有开始加载
现在我最终调用了click()两次,所以:
selenium.click("link=mylink");
selenium.waitForPageToLoad(60000);
// do something, then navigate to a different page
// (window focus is never changed in-between)
selenium.click("link=mylink");
selenium.click("link=mylink");
selenium.waitForPageToLoad(60000);
Run Code Online (Sandbox Code Playgroud)
这会奏效,但这不是一个非常好的解决方案.我也在另一个论坛上看到有人建议写一些像'clickAndWaitWithRetry'的东西:
try {
super.click("link=mylink");
super.waitForPageToLoad(60000);
}
catch (SeleniumException e) {
super.click("link=mylink");
super.waitForPageToLoad(60000);
}
Run Code Online (Sandbox Code Playgroud)
但我认为这也不是一个合适的解决方案....任何想法/解释为什么click()事件有时不会被触发?
And*_*nez 10
有时,看似随机,Selenium只是不喜欢点击某些锚标签.我不确定是什么导致它,但它发生了.在那些情况下,我发现有一个麻烦的链接,而不是做
selenium.click(...)
Run Code Online (Sandbox Code Playgroud)
做
selenium.fireEvent( locator, 'click' );
Run Code Online (Sandbox Code Playgroud)
正如其他人在我上面所述,我特别关注锚标记,如下所示:
<a href="javascript:...." >
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
42924 次 |
| 最近记录: |