仕上げのセレン一般的な方法

まず、一般的なインポートライブラリ

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])に窓を通して

おすすめ

転載: www.cnblogs.com/Maggie2019/p/11016250.html