セレン構成
まず、セレンが何をするのかを調べます。このようなものは、実際には自動化されたWebテストに使用されます。これは、マウスやキーボードの操作などの人間の動作をシミュレートするためのものです。以前のリクエストの使用などとの違いは、これが動的に取得される動作であるということです。これは、Webページのソースコードを1回だけ取得するだけでなく、後で継続的に取得することもできます。クローラーで最も簡単なアプリケーションは、スライダーを動かして確認することです。
セレンをダウンロードするには、pipを直接使用してインストール手順をダウンロードできます。
ブラウザを設定し、対応するWebドライババージョンをダウンロードします。
例としてchromeを取り上げます。1。chrome
バージョンを表示します
。2。chromedriver
ダウンロードURLをダウンロードします。3。ダウンロードしたchromedriver.exeを
ファイルに入れます。2
つのオプションがあります。1。配置とPythonスクリプトディレクトリ
または、別の指定されたディレクトリ(英語のパス)に配置されます
インストールが成功したことを確認します
from selenium import webdriver
drive=webdriver.Chrome()
#drive=webdriver.Chrome(executable_path=指定路径)
drive.get('https://www.baidu.com/')
ポップアップウィンドウ
基本操作
最初に宣言することは、セレンのいくつかの方法は一見非常に長いが、実際には単純なアヒルの皮であるということです。
1.Webページを開きます
2.要素を配置します
3.簡単なクリック操作を実装します
Webページを開く
drive.get('https://www.baidu.com/')
位置決め要素
要素を配置するための操作方法は他にもあります。
最も重要なことは、最初に2つのカテゴリに分類することです。1つはオブジェクトを取得することであり、もう1つは複数のオブジェクトを取得することです。
といった;
InputTag=drive.find_element_by_name('wd')
1つ(最初のもの)を取得します
InputTag=drive.find_elements_by_name('wd')
すべてを取得
コードでは、_by_name()はnameの値で検索することを意味します。
他にも多くのメソッドがあります。図に示すように、
必要に応じて、xpath構文から直接検索します。
オブジェクト操作
ここで、対応する要素は位置決めによってのみ取得された
ため、実行できる操作はクリック、送信、およびその他の操作のみであることに注意してください。より複雑な操作の場合は、マウスのみを使用できます。例:シングルクリック、ダブルクリック、右クリック、ドラッグ。。。
send_keys()対応する値を送信します
click()click
clear()をクリアします
操作例(デモ)
目標Baiduページにpythonと入力し、[検索]をクリックします
。これで、特定の要素の場所がわかりました。
以下は、それぞれ名前の配置とxpathの配置で使用されます
from selenium import webdriver
drive=webdriver.Chrome()
drive.get('https://www.baidu.com/')
############
InputTag=drive.find_element_by_name('wd')
InputTag.send_keys('python')
############
SubmitBut=drive.find_element_by_xpath('//input[@type="submit" and @value="百度一下"]')
SubmitBut.click()
効果は以下の通りです
省略形
上記のようなコードを使用することはより冗長であり、これは書き込みを減らすと見なすことができ、この書き込みは後で少し驚きます。
違い;それは何もありません、ただそれを包むために別の方法を使用してください
1.インポート
from selenium.webdriver.common.by import By
2.コードを減らします
from selenium import webdriver
from selenium.webdriver.common.by import By
drive=webdriver.Chrome()
drive.get('https://www.baidu.com/')
############
InputTag=drive.find_element(By.NAME,'wd')
InputTag.send_keys('python')
############
SubmitBut=drive.find_element(By.XPATH,'//input[@type="submit" and @value="百度一下"]')
SubmitBut.click()
ページを閉じてブラウザ
1.前のページを閉じるだけです
drive.close()
2ブラウザを閉じます
drive.quit()