使用 Selenium IDE,我尝试使用带有部分 id 和元素标题的 XPath 单击网页上表格内的按钮。我使用的 XPath 是:
xpath=//*[contains(@id, 'ctl00_btnAircraftMapCell')]//*[contains(@title, 'Select Seat')]
这就是我尝试单击的按钮示例的完整 html 代码:
<li id="ctl00_MainContent_repAircraftMap_ctl20_repAircraftMapRow_ctl00_liAircraftMapCell" class="">
<a id="ctl00_MainContent_repAircraftMap_ctl20_repAircraftMapRow_ctl00_btnAircraftMapCell" href="javascript:void(0)" seatnumber="20A" mapbindattribute="1124" title="Select Seat 20A" onclick="SeatClick(1124);"></a>
</li>
我的构造是否错误?它不起作用!
最佳答案
现在您已经提供了 HTML 示例,我们可以看到您的 XPath 略有错误。虽然它是有效的 XPath,但它在逻辑上是错误的。
你有:
//*[contains(@id, 'ctl00_btnAircraftMapCell')]//*[contains(@title, 'Select Seat')]
翻译为:
获取所有具有 ID
的元素其中包含 ctl00_btnAircraftMapCell
。从这些元素中,获取具有 title
的任何子元素其中包含 Select Seat
.
您真正想要的是:
//a[contains(@id, 'ctl00_btnAircraftMapCell') and contains(@title, 'Select Seat')]
翻译为:
获取所有具有两者的 anchor 元素:an id
其中包含 ctl00_btnAircraftMapCell
和一个 title
其中包含 Select Seat
.
关于xpath - 在 Selenium IDE 中单击包含部分 id 和标题的 XPath 按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15930683/