使用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。
ID
ctl00_btnAircraftMapCell
title
Select Seat
您 真正 想要的是:
//a[contains(@id, 'ctl00_btnAircraftMapCell') and contains(@title, 'Select Seat')]
给我 所有 的 锚 有元素 都 :一个id包含ctl00_btnAircraftMapCell与title包含Select Seat。
id