我有ID=Mscrm.BasicHomeTab.New.NewRecord
如果我使用以下查询 - 我成功获取元素
FindElement(By.XPath("//*[@id='Mscrm.BasicHomeTab.New.NewRecord']"))
但如果我尝试通过部分ID获取元素,则无法
FindElement(By.XPath("//*[ends-with(@id,'NewRecord')]"))
第二个查询出了什么问题?
答案 0 :(得分:1)
Selenium
(目前)仅支持XPath 1.0
版本,而ends-with()
功能来自XPath 2.0
。
您可以尝试使用contains()
代替
FindElement(By.XPath("//*[contains(@id,'NewRecord')]"))
通过部分子字符串
匹配id
或
FindElement(By.XPath("//*[substring(@id, string-length(@id) - string-length('NewRecord') +1) = 'NewRecord']"))
与ends-with()
答案 1 :(得分:1)