をクリック反復表の行の画像を介して、私は複数のセル(<code>td</code>)を含有する複数の行(<code>tr</code>)を持つテーブルを持っているハイパーリンク
セルの一つは、私が反復するリンクする画像ハイパーリンク
が含ま表の行をクリックして、各行の画像を含むすべてのセルをセレンを使用してクリックします。
<table class="thetable" cellspacing="1" >
<thead></thead>
<tbody>
<tr class="visibleRow">
<td class="Item"></td>
<td class="modified" style="color: gray;"></td>
<td class="imageHyperlink">
<a href="#" role="button" title="Edit the item">
<img src="web/service/editRow.gif" />
</a>
</td>
</tr>
<tr class="visibleRow"></tr>
<tr class="anotherow" style="display: none;"></tr>
<tr class="visibleRow"></tr>
<tr class="editorRow" style="display: none;"></tr>
</tbody>
</table>
私は反復処理したい行だけが、クラス名visibleRow
を含むものであり、かつ上でクリックする必要がある唯一の細胞である:
例えば、これは私のテーブルの1つですクラス名を含むセルimageHyperlink
私は、visibleRowクラスの行を反復処理するforループを実装し、セル変数の中にセルクラス名を格納します。そしてセルをクリックしてください:
for row in driver.find_elements_by_css_selector("tr.visibleRow"):
cell = row.find_elements_by_class_name("imageHyperlink")
cell.click()
それはセルがクリック可能な項目ではありませんようだと、私はこのエラーを取得していますが:
AttributeError: 'list' object has no attribute 'click'
私はこの問題を解決するにはどうすればよいですか?
これはエラーを修正しましたが、イメージのハイパーリンクをクリックしていないことに注意してください。 (私は置くのを忘れたイメージタグを付け加えました)。どんな解決策ですか? –
ああ;私はハイパーリンクが 'td'を完全に埋めると仮定して作業していたので、後者をクリックすると動作します。コードを編集して、ネストされた要素をクリックします。 –
イェップ私はあなたに質問をした後、それを理解しました。私はタグとサブタグを扱う方法を知っていますが、ありがとうございます –