まず、一般的なインポートライブラリ
1.fromセレン輸入webdriverをインポートモジュールのwebdriverを
操作導入2.fromのselenium.webdriverインポートActionChains鎖、アクションチェーンマウス操作が一緒に保存され、実行されてもよいです
キーボードクラスキーを使用して3.fromのselenium.webdriver.common.keyインポートキーは、一般的にsend_keysで使用します
操作]ドロップダウンボックス4.from selenium.webdriver.support.selectインポートが選択クラスを選択扱わ呼ばれています
によって5.from selenium.webdriver.common.byインポート
selenium.webdriver.support.ui輸入WebDriverWaitから
ECクラスディスプレイとしてselenium.webdriver.support輸入expected_conditionsから、まで待って
第二に、基本的な操作
ブラウザ関連の操作
ブラウザ・オブジェクト・ドライバ= webdriver.xxxを作成()
ウィンドウmaximize_windowを最大化()
)(ブラウザのサイズget_window_sizeを取得します。
お使いのブラウザのサイズset_window_sizeを設定します()
ブラウザ位置get_window_position取得()
ブラウザ位置set_window_position(x、y)を設定します
現在のラベル/ウィンドウのクローズを閉じます()
すべてのタブを閉じて/窓は、(終了)
1 #webdriverを導入 2 からセレンインポートwebdriverをする 。3 。4つの #は、ブラウザのオブジェクトを作成する 。5ドライバ= webdriver.Firefox() 。6 。7 #は全画面を提供 。8 driver.maximize_window() 。9つの 10 #は、ブラウザの現在のサイズを取得 。11サイズ= driver.get_window_size () 12は プリント(サイズ) 13は 14 #は、ブラウザのサイズ設定 15 driver.set_window_size(400、400 ) 16サイズ= driver.get_window_size() 。17 プリント(サイズ) 18である 。19 #は、ブラウザの位置取得 20をある位置= driver.get_window_position() 21は プリント(位置) 22である 23は、 #ブラウザ位置設定 24 driver.set_window_position(100,200 ) 25 26であり、 27 位ブラウザ閉じ 28 )(driver.quitを 29 driver.close()
2.ページに関連する操作
URLのdriver.get(URL)を要求
ページ操作のリフレッシュをリフレッシュ()
バック前のページに戻るフォール()
前方のページへ進出した後、()
ページのURL current_url現在のアクセスを取得します。
現在のブラウザのタイトルのタイトルを取得します。
保存图片get_screenshot_as_png()/ get_screenshot_as_file(ファイル)
Webページのソースコードpage_source
#のリードパック からセレンインポートwebdriverを インポート時間 #ブラウザオブジェクトを作成します。 ドライバー= webdriver.Firefox() #のアクセスBaiduの URL1 = ' http://www.baidu.com ' driver.get(URL1) 印刷(' アクセス:' 、 URL1) #のアクセスが知っているほとんど URL2 = ' https://zhuanlan.zhihu.com/ ' time.sleep( 2 ) driver.get(URL2) を印刷(' アクセス:' 、URL2) #の逆の操作 time.sleep(2) driver.back() 印刷(' 背中に' 、URL1) #進める time.sleepを(2 ) driver.forward() 印刷(' 前方へ' 、URL2) #の表示現在のURLの 印刷(driver.current_url) #1 現在の表示ページタイトルの 印刷(driver.title) #スナップショット操作の保存 #は自動的にファイルの書き込み driver.get_screenshot_as_file(「baidu.jpgを」) #は、自分のファイルを書き込む データ= )(driver.get_screenshot_as_png オープン(と「baidu2.jpg 」、' WB ' F AS): f.write(データ) データ = driver.page_sourceの #書かれたバイナリタイプのファイル を開きます(と' baidu.html '、' WB ' F AS): f.write(data.encode() )
ページ要素(標的の8種類)の3位置
ID定位driver.find_element_by_id(値)
位置決めdriver.find_element_by_nameのname属性の値(値)
クラス名の位置決めdriver.find_element_by_class_name(値)
名札位置決めdriver.find_element_by_tag_name(値)
リンクテキストの位置決めdriver.find_element_by_link_text(値)
セクションのリンクテキストdriver.find_element_by_partial_link_text(値)
XPathのパス発現driver.find_element_by_xpath(値)
CSSセレクタdriver.find_element_by_css_selector(値)
4要素の動作
関連の操作要素は、要素は一般に、第1取得し、その後、関連する方法の要素を呼び出すされ= driver.find_element_by_xxx(値)
操作element.clickをクリックします()
クリア入力ボックスelement.clear()
入力ボックスのデータelement.send_keys(データ)
(タグの間のオープンとクローズコンテンツの両方)テキストコンテンツを取得element.text
プロパティ値(値取得要素要素の属性値)element.get_attribute(値)の取得
セレンインポートwebdriverを インポートタイム #ブラウザ作成 ドライバー= webdriver.Firefox() #アクセスBaiduの URL = ' http://www.baidu.com ' driver.get(URL) #を入力ボックス見つけ エル= driver.find_element_by_idを(' キロワット' ) #入力セレン el.send_keys(' セレン' ) #消去 el.clear() #を入力Pythonの el.send_keys(' パイソン' ) #のターゲット検索ボタン = driver.find_element_by_id el_sub(' SU ' ) #コール提出 el_sub.click() time.sleep(。5 ) (driver.close)
マウスとキーボード
マウスクラスは一部導入参照し、インポート最初の部分を見て、それからオブジェクトActionChains(ドライバ)、キーボードのタイプを作成する必要があります
右クリック
EL = driver.find_element_by_xxx(値)
context_click(エル)
マウスをダブルクリックします
EL = driver.find_element_by_xxx(値)
ActionChains(ドライバ).double_click(EL).perform()
ホバー
EL = driver.find_element_by_xxx(値)
ActionChains(ドライバ).move_to_element(EL).perform()
一般的なキーボード
send_keys(Keys.BACK_SPACE)キーを削除します(バックスペース)
send_keys(Keys.SPACE)スペースバー(スペース)
send_keys(Keys.TAB)Tabキー(タブ)
send_keys(Keys.ESCAPE)Backspaceキー(Escキー)
send_keys(Keys.ENTER)は、キー(入力)を入力します
send_keys(Keys.CONTROL、 'A')全选ます(Ctrl + A)
send_keys(Keys.CONTROL、 'C')复制(Ctrlキー+ C)
send_keys(Keys.CONTROL、 'X')切り取り(Ctrlキー+ X)
send_keys(Keys.CONTROL、 'V')を貼り付けます(Ctrl + V)
以下からのセレンのインポートwebdriverをする # インポート操作鎖クラス から selenium.webdriver インポートActionChains #開いているブラウザ ドライバー= webdriver.Firefox() #アクセスBaiduの URL = ' http://www.baidu.com ' driver.get(URL) #の場所ロゴの要素 el_logo = driver.find_element_by_css_selector(「#lg>地図:お子様N番目(2)>エリア:N番目-子供(1)」) #の右クリック操作、操作要素の前に、要素は、操作の外に配置する必要があり、操作が実行される場合、()を実行呼び出す必要があり、対応する動作に適合 ActionChains(ドライバ).context_click(el_logo).perform() #ダブルターゲティング、スイッチング素子 ActionChains(ドライバー).double_click(el_logo).perform() #開くブラウザの ドライバー= webdriver.Firefox() driver.maximize_window() #のアクセスJingdongはの URL = ' http://www.jd.com ' driver.get( URL) #分類族元素を得 el_list = driver.find_elements_by_class_name(' cate_menu_item ' ) #1 ホバリング 用の EL でel_list: ActionChains(ドライバ).move_to_element(EL).perform() time.sleep( 1 ) driver.quit()
6.操作ポップアップ
ボックスdriver.switch_to.alertポップに()
アラートが(受け入れ受信)
閉じる警告が(却下)
テキスト警告ボックスsend_keys(データ)を送信するには
7.ドロップダウンボックスの操作
ドロップダウンボックスに位置決め要素は、着信クラスselObjが=選択(要素)を選択します
インデックスを選択することによって、インデックスのインデックス(0 select_by_indexから始まります)
)((プロパティのオプションタグの値)select_by_value値を選択します
テキストの選択(ドロップダウン値)によるselect_by_visible_text()
選択したすべてのall_selected_optionsを見ます
最初に選択first_selected_optionを見ます
それは複数の選択肢であるかどうかを確認してくださいis_multiple
オプションオプション要素のリストを見ます
取消选择deselect_by_index()/ deselect_by_value()/ deselect_by_visible_text()
8.スクロールバーの操作
JS = "window.scrollToは(x、y)は" xは水平方向のドラッグ距離であり、yは垂直抗力としてあります
driver.execute_script(JS)
例スクロール上から下に移動するjsが= "VAR Q = document.documentElement.scrollTop = N"、N
driver.execute_script(JS)
9.cookies操作
すべてのクッキーGET_COOKIESを取得します()
GET_COOKIE鍵(キー)に対応する値を求めます
设置クッキーadd_cookie(cookie_dict)
指定されたCookieのdelete_cookie名(名前)を削除します。
すべてのクッキーdelete_all_cookiesを削除します()
10.マルチタグ/マルチウィンドウ、マルチフォーム/マルチフレーム交換
多形/マルチフレーム交換
直接driver.switch_to.frame(値)を切り替えるフォームID値に
切り替え、その後、要素を形成するように配置
EL = driver.find_element_by_xxx(値)
driver.switch_to.frame(エル)
バック最外部ページdriver.switch_to.default_contentへジャンプ()
)(ページdriver.switch_to.parent_frameの先頭に戻ってジャンプ
複数のタグ/マルチウィンドウの切り替え
すべてのウィンドウハンドルハンドル=のdriver.window_handlersを取得
ウィンドウハンドルdriver.switch_to.window(ハンドル[N])に窓を通して