我试图自动化一个场景(在Ruby中),其中按钮的初始文本是‘激活’,一旦它被点击,它需要3-5秒来做任何必要的,然后按钮文本更改为‘停用’。
因为按钮总是存在的,所以使用下面的代码没有帮助。
wait.until {
driver.find_element(:id => 'changeStatus')
}如何让webdriver在点击后检查按钮文本之前等待5秒。
发布于 2014-09-03 15:38:52
您应该能够等待并查找文本。
wait.until {
driver.find_elements_by_xpath("//*[text()='Deactivate']")
}发布于 2014-09-05 13:07:08
Brendan的答案肯定是正确的,但我会使用一个更具体的XPath,因为正如所述的那样,答案将等待‘停用’这个词出现在页面的任何地方。
考虑缩小搜索元素的类型,并根据ID进一步缩小范围。
wait.until {
driver.find_elements_by_xpath("//a[@id='changeStatus' and text()='Deactivate']")
}这将大大加快搜索速度。
https://stackoverflow.com/questions/25647278
复制相似问题