在Selenium机械手框架中运行脚本时Xpath无法识别
<div class="divRptData">
<hr class="hrConnector" />
<span style="float: left; cursor: pointer" class="tree-box tree-box-expand" onclick="javascript: toggleBranch(this, 'level2_ABC')"/>
<span style="margin-left: 4px" class="ng-binding">text</span>
</div>
我已经在XPATH下尝试了上面的代码,当我手动找到它时,它就可以工作,但是在运行脚本时却无法识别。
//span[@onclick="javascript: toggleBranch(this, 'level2_ABC')"]
//div[3]/div/div/div/div[4]/div[1]/span[1]
能不能帮我解决这个问题。
答案 0 :(得分:4)
我怀疑您正在遭受引号问题。试试:
//span[@onclick=\"javascript: toggleBranch(this, 'level2_ABC')\"]
您可以通过在控制台中键入以下内容来在浏览器中检查此XPath:
$x("//span[@onclick=\"javascript: toggleBranch(this, 'level2_ABC')\"]")
(以上内容适用于Chrome,我认为所有浏览器现在都支持语法)
答案 1 :(得分:0)
您可以使用以下_Xpath_s之一:
"//div[@class='divRptData']/hr[@class='hrConnector']//following::span[1]"
或
"//div[@class='divRptData']//span[@class='tree-box tree-box-expand' and contains(@onclick, 'level2_ABC')]"