セレニウムとパイソンクローラー(1)[インストールと配置要素]

セレン構成

まず、セレンが何をするのかを調べます。このようなものは、実際には自動化された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()

おすすめ

転載: blog.csdn.net/FUTEROX/article/details/108366833