我正在尝试使用selenium 2.39版本自动化网页。 问题是我无法点击“加号和减号”控件。我收到以下错误: -
无法找到元素:{“method”:“xpath”,“selector”:“// * [@ id ='dijit__TreeNode_1'] / div [1] / img”} 命令持续时间或超时:31.12秒 有关此错误的文档,请访问:http://seleniumhq.org/exceptions/no_such_element.html
我尝试通过提供默认的xpath并创建了唯一的xpath,但没有任何效果,我尝试了以下
1)// * [@ id ='dijit__TreeNode_1'] / div [1] / img => (默认) 2)// IMG [@ SRC = '道场/道场/资源/ blank.gif'] [@数据道场-连接点= 'expandNode'] 3)// img [@src ='Dojo / dojo / resources / blank.gif'] [@ role ='presentation'] [@ class ='dijitTreeExpando dijitTreeExpandoOpened'] [@ data-dojo-attach-point ='expandoNode “]
我只是复制HTML内容的那部分
-任何人都可以建议任何其他替代方案。 我也看到HTML内容中的“data-dojo-attach-event”这样的属性很少,是否因为Dojo应用程序而未在selenium中检测到该元素? 请分享您的反馈
答案 0 :(得分:1)
到目前为止,我已经使用Selenium测试了几个Dojo webapps。 Selenium应该独立于前端框架工作,但你必须正确使用它。
首先要检查的一些事情:
如果您没有看到许多Dojo属性,那么第一点可能就是问题。当页面未加载+解析时,它将无法找到DOM节点(但是我认为它应该能够在半分钟内找到它们。)
例如,要等待一个元素(使用WebDriver
)加载,您可以使用:
new WebDriverWait(driver, 10).until(ExpectedConditions.presenceOfElementLocated(By.id("myId")));