Selenium IDE新问题:来自XPath

时间:2012-10-31 21:03:44

标签: xml xpath selenium firebug selenium-ide

我想在Selenium IDE中使用Xpath有问题。 首先,很奇怪,当我右键单击元素时,Selenium选项不会显示。

其次,如果我使用Firebug检查元素并复制XPath,结果是:

//html/body/div/div[4]/new:form/div[3]/table/tbody/tr/td/table/tbody/tr[17]/td[3]/a

如果我在Selenium中插入此路径,请单击“查找”,我会得到找不到定位器的按摩。 当我运行它时说:[错误]无效的Xpath [2] :(然后是路径)

找到

没问题
//html/body/div/div[4]/

我认为问题是“新的:形式”部分,但我不知道为什么?!

我无法访问代码。但是,当我删除萤火虫中的“新”时,它才有效。 这个问题有什么解决方案吗? 感谢

3 个答案:

答案 0 :(得分:1)

在编写此问题时,Selenium中没有对XPath表达式中的命名空间提供适当的支持。但是,that has since been changed。从某个时间(around March 2015)开始,您可以使用文档中出现的名称空间前缀来选择元素。

在此之前,它有点困难,你需要像accepted answer这样的解决方案。现在您可以使用原始问题中给出的表达式:

//html/body/div/div[4]/new:form....

答案 1 :(得分:0)

在Firebug元素form提供的XPath中,Firebug使用new作为前缀。我不知道Selenium是否支持带有命名空间的XPath。无论如何,您可以使用*而不是new:form稍微修改给定的XPath,即:

//html/body/div/div[4]/*[local-name(.) = 'form']/div[3]/table/tbody/tr/td/table/tbody/tr[17]/td[3]/a

答案 2 :(得分:0)

您可以安装 Firepath ,它是Firebug的扩展名。这样可以为您提供更清晰的xpath。