如何使用xpath selenium查找元素

如何使用xpath selenium查找元素,selenium,selenium-ide,htmlelements,Selenium,Selenium Ide,Htmlelements,这是我能找到的元素的html <span data-bind="text: myAge()" xpath="1">Showing 1 of 25 people</span> 我在Html中有另一个元素,类似于它可以获取动态ID <input class="form-control" data-bind="textInput: code, attr: { id: 'myTable_code_' + $index() }" type="text" id="myTabl

这是我能找到的元素的html

<span data-bind="text: myAge()" xpath="1">Showing 1 of 25 people</span>
我在Html中有另一个元素,类似于它可以获取动态ID

<input class="form-control" data-bind="textInput: code, attr: { id: 'myTable_code_' + $index() }" type="text" id="myTable_code_0" >
但我得到的错误是“它无法找到元素”


如何修复此问题?

数据绑定的
属性是
“textInput:code,attr:{id:'myTable\u code.'+$index()}”
,您需要使用所有属性

[FindsBy(How = How.XPath, Using = "//*[@data-bind='textInput: code, attr: { id: 'myTable_code_' + $index() }']")]
或部分属性

[FindsBy(How = How.XPath, Using = "//*[contains(@data-bind, 'textInput: code')]")]

数据绑定
属性是
“textInput:code,attr:{id:'myTable\u code.'+$index()}”
,您需要使用所有属性

[FindsBy(How = How.XPath, Using = "//*[@data-bind='textInput: code, attr: { id: 'myTable_code_' + $index() }']")]
或部分属性

[FindsBy(How = How.XPath, Using = "//*[contains(@data-bind, 'textInput: code')]")]

完美答案。你能给我一些有用的链接来学习这个吗?@James你指的是哪一部分?在我的回答中,我不知道任何官方文件,这只是从经验中得出的。你以前发现的那个contains@James我刚在谷歌上搜索过,比如“selenium按部分属性查找元素”,上面有一些不错的文档。我更喜欢CSS选择器,你可以在上面找到文档。完美答案。你能给我一些有用的链接来学习这个吗?@James你指的是哪一部分?在我的回答中,我不知道任何官方文件,这只是从经验中得出的。你以前发现的那个contains@James我刚在谷歌上搜索过,比如“selenium按部分属性查找元素”,上面有一些不错的文档。我更喜欢CSS选择器,你可以在网页上找到文档。