无法定位元素,请问selenium 2.39是否支持DOJO申请?

时间:2014-02-06 10:06:08

标签: jquery html selenium dojo

我正在尝试使用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中检测到该元素? 请分享您的反馈

1 个答案:

答案 0 :(得分:1)

到目前为止,我已经使用Selenium测试了几个Dojo webapps。 Selenium应该独立于前端框架工作,但你必须正确使用它。

首先要检查的一些事情:

  1. 您是否在等待加载页面以及要解析的小部件?
  2. 在浏览器中使用时,给定的XPath选择器是否有效?我通常使用Google Chrome开发人员工具查找XPath(通过右键单击您可以选择复制XPath的DOM节点)。如果我没记错的话,还有一个Firebug插件可以通过XPath查询查找DOM节点。
  3. 如果您没有看到许多Dojo属性,那么第一点可能就是问题。当页面未加载+解析时,它将无法找到DOM节点(但是我认为它应该能够在半分钟内找到它们。)

    例如,要等待一个元素(使用WebDriver)加载,您可以使用:

    new WebDriverWait(driver, 10).until(ExpectedConditions.presenceOfElementLocated(By.id("myId")));