ウェブ要素の基本的な操作
要素を取得します
-
要素、変数の割り当てを取得します。
-
InputBox関数= driver.find_element_by_id( "KW")
-
-
要素のテキストメッセージを取得します。
-
driver.find_element_by_css_selector( '[HREF = "http://news.baidu.com"]')の.text
-
-
要素のプロパティ値を取得します。
-
driver.find_element_by_css_selector( '[HREF = "http://news.baidu.com"]').get_attribute( "クラス"))
-
- より多くの要素を取得します。
操作エレメント
-
クリックします
- クリック:.click()
- ダブルクリック:.double_click()
- 右:.context_click()
-
情報を入力するエディットボックス
-
.send_keys()
-
-
クリアテキスト
-
.clear()
-
要素を待って
- 待つことを余儀なく
- time.sleep()
- 単位:秒
- 長すぎる設定されている場合、それはコードの効率に影響を及ぼします。時間が短い場合、要素は、それがエラーにつながるロードしていない;セレンに十分な、スマートではないコードの実行を停止することを余儀なく
- 明示的な待機
- までWebDriverWait()。()
- 単位:秒
- 設定された時間の中で、すべての0.5秒は、要素が見える場合は、表示されているかどうかを確認するために、待機を終了し、次に表示されていないが、タイムアウトエラーになるまで待ち続けた場合
- 暗黙の待ち時間
- implicitly_wait()
- 単位:秒
- 要素が存在するまで、一定の時間を待つことになるすべての要素の位置を設定した後、要素がエラーになり、設定された時間内に表示されません。
- 暗黙の待ち時間は、あなたが待っている時間の背中を変更する必要がある場合、あなたはまた、再設定する必要があり、グローバル設定です
例:
- セレン、オープンクロムの使用は、URLを入力します。https://baidu.com
- ビューのニューステキストメッセージ
- 入力ボックス、セレンのpython、すべての検索情報をプリントアウトして検索ボタンをクリックしてください
以下からのセレンのインポートwebdriverを から selenium.webdriver.common.by インポートすること から selenium.webdriver.support.ui インポートWebDriverWait から selenium.webdriver.supportのインポートexpected_conditions EC AS インポート時間 ドライバー = webdriver.Chrome() driver.get(「HTTPS: //www.baidu.com " ) #暗黙待機 #グローバルであり、要素が存在するまで、設定した後、以下の方法は、すべての事前様10Sを見つける driver.implicitly_wait(10 ) #は、百度入力素子位置決め = InputBox関数をdriver.find_element_by_id(「KW 」) #の位置決め要素のニュース右上 ニュース= driver.find_element_by_css_selector(「[のhref = 『http://news.baidu.com』] 」) #明示的に待機し、要素のボタンに割り当てられた ボタン= WebDriverWait (ドライバ、10 ).until( EC.presence_of_element_located((By.ID、" SU " )) ) # WebDriverWait分析パラメータ: #WebDriverWait(ドライバ、タイムアウト、poll_frequency = pOLL_FREQUENCY、ignored_exceptions =なし) #のドライバ:ドライバブラウザ--- [ドライバ= webdriver.Chrome()] #のタイムアウト:設定された最大待ち時間 #poll_frequency:一度0.5秒クエリごとの間隔検出素子、デフォルトは0.5秒ですが、デフォルトでも #のignored_exceptionsを:タイムアウト後のエラーメッセージは、デフォルトではNoSuchElementExceptionある #GETニューステキスト情報 を印刷(「ニュースにリンクされたテキストメッセージ:「news.text) #のニュースリンククラス属性値を取得するために使用GET_ATTRIBUTE方法 印刷(」:クラス属性値のニュースリンク「news.get_attribute( 」クラス」)) を印刷(" ***** - \ nは*************分割****************** \ N- " ) #Baiduの入力ボックス、セレン inputbox.send_keys(" セレン" ) #1秒待つことを余儀なく time.sleep(1 ) #は、入力ボックスの内容をクリア ()inputbox.clear #を入力BaiduのPythonの入力ボックスセレン inputbox.send_keys(" セレンパイソン" ) #のBaiduのボタンをクリック Button.Click() #のGETクエリの結果、すべての// DIV // H3 /要素情報 #Baiduの検索、インターフェースのプラグインをシールドすることができますが、情報の要素が残っているものの、広告メッセージの多くのクエリ結果、! #広告情報と非広告情報コントラスト要素により、リンク属性値の形で存在するデータ・landurl不動産広告要素、ということ #((データ-landurl @含まれていないことによってスクリーニング 、「HTTP」))、 ではありませんプレゼンス要素のhttpのデータlandurl属性値からなる テキスト= driver.find_elements_by_xpath(" // // divのH3 / [しない(含まれています(データlandurl @ 'のhttp'))] " ) #リストされたforループを使用して、テキストの各要素は、属性 のために1 でのテキスト: プリント(one.text) driver.quit()
出力:
ニュースリンクテキストメッセージである:ニュース class属性値のニュースリンク:mnav ****************** **************スプリット**** の放棄するエントリから使用Pythonの爬虫類セレンライブラリ(8) - pythonのスピリチュアルな道に... セレン + 1つの学習のPython -雨の避難所- ブログパーク セレン(Pythonのウェブテストツール)の基本的な使用方法の詳細_python _家庭スクリプト のPythonバインディングのためのセレンwebdriverを- セレン・は、PyPI はPythonとセレン- Pythonのバインディングセレン 2 ... (パイソンに基づいて)自動化されたテストエントリセレン - baby_hua列- CSDNは、ブログ のPythonでセレンを- Pythonのバインディングセレン 2 ... Pythonは爬虫類基底セレンライブラリを使用しています(XXII 01) -ケイ耐性ブログ- CSDN ... 2.クイックスタート-セレン- Pythonの中国の文書2ドキュメント セレン + Pythonの自動テストシリーズ(A):_ムーのクラスのノートをログに記録