51Testing软件测试论坛
标题:
求助 selenium 定位不到,还是页面等待时间不够
[打印本页]
作者:
wateryx
时间:
2016-3-11 11:09
标题:
求助 selenium 定位不到,还是页面等待时间不够
本帖最后由 wateryx 于 2016-3-11 11:10 编辑
[attach]100363[/attach]使用firebug 定位到 xpath 值为 :.//*[@id='id_toolbar_send']
使用selemium IDE 定位到的代码为:
driver.findElement(By.id("id_inbox")).click();
driver.findElement(By.id("id_toolbar_send")).click();
在实际中因为页面刷新比较慢,大概30%的概率可以跑成功的代码如下:
driver.manage().timeouts().implicitlyWait(200, TimeUnit.SECONDS);
Thread.sleep(5000);
WebElement myDynamicElement = (new WebDriverWait(driver, 20)).until(ExpectedConditions.presenceOfElementLocated(By.id("id_inbox")));
driver.findElement(By.id("id_inbox")).click();
//driver.findElement(By.id("id_toolbar_send")).click();
//*[@id="id_toolbar_send"]
Thread.sleep(1000);
driver.findElement(By.xpath(".//*[@id='id_toolbar_send'and@class='toolbar_send']")).click();
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
请问应该如何写可以每次都跑过?到底是因为页面时间加载时间过长导致无法点击“写件”按钮,还是因为点击“写件”的代码错误?
作者:
蘑菇乱了
时间:
2016-3-13 15:53
页面打开时有什么加载框弹出来吗?有的话,先等加载框关闭,再操作。没有的话,只能延长等待了。
作者:
安裴轩
时间:
2016-3-15 15:48
可以先检查那个按钮是不是出现,再进行点击的操作,不用硬等待
作者:
niky313
时间:
2016-3-17 16:58
By.xpath("
.
//*[@id='id_toolbar_send'and@class='toolbar_send']"))
为什么要以.开始呢?
作者:
niky313
时间:
2016-3-17 17:01
".//*[@id='id_toolbar_send'and@class='toolbar_send']"
为什么以"."开始呢,去掉它试试
欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/)
Powered by Discuz! X3.2