部分ID Xpath查询返回null
问题描述:
我有ID=Mscrm.BasicHomeTab.New.NewRecord
部分ID Xpath查询返回null
元素,如果我用下面的查询 - 我顺利拿到了元素
FindElement(By.XPath("//*[@id='Mscrm.BasicHomeTab.New.NewRecord']"))
但如果我尝试通过局部ID来获得元素失败
FindElement(By.XPath("//*[ends-with(@id,'NewRecord')]"))
什么是错的第二个查询?
答
Selenium
(现在)仅支持XPath 1.0
版本,而ends-with()
功能来自XPath 2.0
。
你可以尝试使用而不是作为
FindElement(By.XPath("//*[contains(@id,'NewRecord')]"))
由部分子
或
FindElement(By.XPath("//*[substring(@id, string-length(@id) - string-length('NewRecord') +1) = 'NewRecord']"))
类似于匹配id
到ends-with()
+0
@algot,是否有任何理由取消答案?你想让我改进我的解决方案吗? – Andersson
是的,CSS选择器正在工作。但我不想在一个测试中混合使用css和xpath方法 – algot