使用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>
我是否错误地构建了这个?它没用!
答案 0 :(得分:51)
现在您已经提供了HTML示例,我们可以看到您的XPath有点错误。虽然它是有效的XPath,但它逻辑错误。
你有:
//*[contains(@id, 'ctl00_btnAircraftMapCell')]//*[contains(@title, 'Select Seat')]
转化为:
让我所有包含ID
ctl00_btnAircraftMapCell
的元素。在这些元素中,获取任何<{1}}包含title
的子元素。
您实际想要的是:
Select Seat
转化为:
让我所有 锚点元素两者://a[contains(@id, 'ctl00_btnAircraftMapCell') and contains(@title, 'Select Seat')]
包含id
和{ {1}}包含ctl00_btnAircraftMapCell
。