位置決め要素により、1
先に記載した方法ユニットに加えて、webdriverをも方法を配置し、入ってくる測位方法に対応するパラメータを配置することによって宣言するために、書き込みの別のセット、即ちfind_element統一された呼び出し()メソッドを提供します。次のとおりです。
以下からの時間のインポートスリープ からのセレン輸入webdriverを から selenium.webdriver.common.byのインポートにより、 WD = webdriver.Chrome() wd.get(' https://www.baidu.com/ ' ) wd.find_element(By.ID、" KW " ) wd.find_element(By.NAME、" WD " ) wd.find_element(By.CLASS_NAME、" s_ipt " ) wd.find_element(By.TAG_NAME、" 入力" ) wd.find_element(By.LINK_TEXT、U" 新闻" ) wd.find_element(By.PARTIAL_LINK_TEXT、uの" 新" ) wd.find_element(By.XPATH、" // * [@クラス= 'BG s_btn'] " ) wd.find_element(By.CSS_SELECTOR、「スパン.bg.s_btn_wr>入力#SU 」)
find_element()メソッドは、要素の位置を特定するために使用されます。それは最初のパラメータによりにより、位置決めの一種である、2つのパラメータを必要とする詳細な第二パラメータが配置されています。使用前にすることで必要なクラスを導入することにより。
selenium.webdriver.common.byのインポートにより、
実装コードは、彼らは子供たちが、例えば、webdriverをの下を見て、find_element_by_id()メソッドを達成することがわかった一つのことです。
デフfind_element_by_id(自己は 、ID_):""」idで要素を検索します。 :Argsの: - ID \ _ -要素のidが発見される。 :戻り値: - WebElement -要素、それが見つかった場合 :昇給: - NoSuchElementException -要素が見つからなかった場合 :用途: 要素= driver.find_element_by_id( 'FOO') ""」 リターン(= By.ID、値= ID_によって)self.find_element
しかし、webdriverをよりお勧め文言はもちろん、機能を分配して、使用する私の会社の底があり、先に説明しました。
2.マウスイベント
フロントのみ使用クリック()メソッドは、だけでなく、マウスのクリック、ダブルクリック、ホバー、あるいはマウスドラッグ機能として、他のマウス操作を理解しています。
この章では、私は詳細にこれらの機能を説明します。
webdriverを、これらの方法でマウスがActionChainsクラスの包装作業を提供します。
ActionChainsクラスは、マウスの操作の一般的な方法を提供します。
実行():保存されたすべてのActionChainsの実行動作を
context_click():右クリック
DOUBLE_CLICK():ダブルクリック
drag_and_drop():ドラッグ
move_to_element():ホバー
2.1マウスの右クリック操作
マウスの使用クラスのメソッドは、以前に学習しActionChainsクリック()メソッドを提供異なります。
私たちは例を考え出すことはできませんのでサイトは、右期待することができます長い時間、レン下目黒のためにと思いました。
マウス提供ActionChainsの紹介:
selenium.webdriverのインポート ActionChains
コールの引数としてActionChains(ドライバ)クラス、ブラウザのドライバドライバは、私は通常駆動名前WDブラウザを使用しています。
ActionChains(WD)
あなたのマウスの右秒間context_click(右)メソッドは、呼び出しは、要素を配置する必要性です。
ActionChains(WD).context_click(右)
ActionChainsが保存されているすべての行為を実行し、全体の操作のアクションに提出するものと理解することができます。
ActionChains(WD).context_click(右).perform()
2.2マウスオーバーポップアップドロップダウンメニューは非常に機能的なデザインが作成されています。
move_to_element()メソッドは、マウスオーバー操作をシミュレートし、その利用context_click()と同じことができます。
時間インポートSLEEP からセレンインポートwebdriverを から selenium.webdriver インポートActionChains WD = webdriver.Chrome() wd.get(' https://www.baidu.com/ ' ) #ホバリングする要素を標的 = WDの上.find_element_by_xpath(" // divの[ID @ = 'U1'] / [8] " ) #マウスホバリング操作実行する要素を位置決めする ActionChains(上記)(WD).move_to_element (.perform)
2.3ダブルクリック操作
秒あなたダブルクリック操作のための方法をDOUBLE_CLICK。そして、まったく同じ以前の使用は、コードは示していません。
2.4ドラッグ&ドロップ操作
drag_and_drop(ソース、ターゲット)ソースエレメントにマウスの左ボタンを押し、その後、ターゲット要素を解放するように移動。
ソース:マウスは、ソース要素をドラッグします
対象:マウスが解放されたターゲット要素
これは私が使用されることを期待していなかった場合は、必要とされた確認コードをバックスライドすることができるもあります。
3.キーボードイベント
キー()クラスのメソッドは、ほとんどすべてのキーボード上のキーの提供します。フロントsend_keys()メソッドを加えて、我々はまた、キーボードのキーを入力するために使用することができ、またはたとえば、Ctrl + Aは、Ctrl + Cなどのキーのも組み合わせシミュレートキーボード入力に使用することができ、学習しました。
以下からの時間のインポートSLEEP からのセレンのインポートwebdriverを から selenium.webdriver.common.keys インポートキー WD = webdriver.Chrome() wd.get(' https://www.baidu.com/ ' ) #入力ボックスの内容 wd.find_element_by_id (" KW ").send_keys(" seleniumm " ) #A Mの削除複数の入力 wd.find_element_by_id(" KW " ).send_keys(Keys.BACK_SPACE) #の入力スペース+ "チュートリアル" wd.find_element_by_id(" キロワット" ).send_keys(Keys.SPACE)は (wd.find_element_by_id " キロワットを").send_keys(" ガイド" ) #Ctrlキー+ Aを選択し、入力ボックスの内容は、 (wd.find_element_by_id " KW ").send_keys(Keys.CONTROL、' A ' ) #はCtrl + X剪断コンテンツ入力ボックス wd.find_element_by_id(" キロワット").send_keys(Keys.CONTROL、' X ' ) #はCtrl + Vは、入力ボックスの内容を貼り付け (wd.find_element_by_id " キロワット").send_keysを(Keys.CONTROL、" V" ) #Enterキーをクリックして、代わりに操作の wd.find_element_by_idを(" SU ").send_keys(Keys.ENTER)
それだけで私たちのキーボードのキーとキーの組み合わせを用いたシミュレーションのすべての種類を表示するには、上記のコードは少し実用的な意義のあることに留意すべきです。
キーボードのキーのクラスのメソッドを使用する前には、インポートする必要があります。
selenium.webdriver.common.keys インポートキー
以下は、一般的に使用されるキーボードです。
send_keys(Keys.BACK_SPACE)Deleteキー
send_keys(Keys.SPACE)スペースバー
send_keys(Keys.TAB)タブレータ
send_keys(Keys.ESCAPE)Backspaceキー
send_keysは(Keys.ENTER)キーを入力します
send_keys(Keys.CONTROL、 '' )全选
send_keys(Keys.CONTROL、 'C')のコピー
send_keys(Keys.CONTROL、 'X' )せん断
send_keys(Keys.CONTROL、 'V' )を貼り付け
send_keys(Keys.F1)キーボードF1
......
send_keys(Keys.F12)キーボードのF12