Selenium IDEを使用して、部分的なIDと要素のタイトルを持つXPathを使用して、Webページのテーブル内のボタンをクリックしようとしています。私が使用している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')]
次のように変換されます:
ctl00_btnAircraftMapCell
を含むID
を持つ要素allを取得します。これらの要素のうち、Select Seat
を含むtitle
を持つany子要素を取得します。
あなたが実際に欲しいものは:
//a[contains(@id, 'ctl00_btnAircraftMapCell') and contains(@title, 'Select Seat')]
次のように変換されます:
Get meallthe anchor elements that both:an id
that contains ctl00_btnAircraftMapCell
およびSelect Seat
を含むtitle
。