12

WebDriver と を使用して自動化する Web アプリケーションがありますPython

問題はここに画像の説明を入力 、矢印ボタンを手動でクリックすると、特定のフィールドを選択する必要がある別のサブメニューに展開される、このようなメニューがあることです。

この 3 番目のメニューを見つけることができますがelement.click()、メニューを展開してそのサブメニュー項目を表示するのではなく、それをクリックすると、すべてのサブメニューの統合されたコンテンツが表示されます。

(グループ名の前にある小さな矢印アイコンをクリックすることで、手動でサブ メニューを展開できます) では、実際にこの矢印アイコンをクリックして、グループ メニューの 1 つをサブ メニューに展開するにはどうすればよいでしょうか。

参考になれば、これはHTML第三グループのメニューに対応します。

<div id="node_3_item" class="treeLabelSelected" style="padding-left: 0px; background-position: 0px -24px;">
<span style="background-position: 0px -24px;">XXX Groups</span>
</div>
<div style="display: none;"></div>
</div>

行は実際にはdisplay: noneサブメニューを隠しています(私が理解できる限り)

処理方法に関するご提案をいただければ幸いです。ありがとう

注: 非表示の Web 要素とのやり取りに関連する SO に関するいくつかの質問を既に行っていますが、それらは私の状況とは異なります。

4

3 に答える 3

13

クリックしたい要素をつかみます:

# Or using xparth or something
element = driver.find_element_by_css_selector(css_selector)

JavaScript を使用してクリックします。

driver.execute_script("$(arguments[0]).click();", element)

注:私はjQueryを使用しています。それ以外の場合は、javascriptでネイティブに選択してください

于 2015-04-28T12:33:57.500 に答える
0

アプリケーションで使用jQueryする場合は、それを使用して、作業を簡素化するターゲット要素を指定できます。例えば

$('.targetClass')
于 2013-07-03T18:51:45.533 に答える