Selenium-ブラウザ制御

1891 ワード

前の記事では、要素の位置付けに関する方法について説明しましたが、この記事からは、要素オブジェクトを取得した後の様々な操作方法について説明します.Web自動化の難点は,要素オブジェクトをどのように正確かつ安定的に獲得するかであり,その後の操作が容易になり,APIのドキュメントを閲覧して運搬工をすれば実現できる.魚を授けるより漁を授けるほうがいいと言われていますが、pythonのwebdriver APIのドキュメントアドレスを教えて勉強します.ここでは、よく使われる方法を例に挙げて、どのように運用するかを知ることができます.
今日は主にブラウザ制御の一般的な属性と方法を紹介します.彼らの多くはseleniumに集中しています.webdriver.remote.Webdriverクラスです.どのブラウザを使用してもremoteから継承されます.Webdriverクラスは、使用するメソッドのプロパティが同じです.まず、一般的なプロパティをいくつか挙げます.
current_url:現在のブラウザのurlを返します
title:現在のページtitleに戻る
current_window_handler:現在のウィンドウのハンドルを返します.これは、マルチウィンドウ切り替え時に使用されます.
window_handlers:現在のブラウザのすべてのウィンドウのハンドルを返します.次に、マルチウィンドウ切り替えの例を示します.
driver = webdriver.Firefox()
#     
driver.get('https://www.baidu.com')
#          
search_window = driver.current_window_handle
#         
 driver.find_element_by_xpath("//map[@name='mp']/area").click()
#          
all_windows = driver.window_handles
sleep(3)
#       ,               
for window in all_windows:
    if window == search_window:
        driver.switch_to.window(window)          

一般的なブラウザの制御方法を次に示します.
get(url):指定したWebページをロード
back()/forward():ブラウザの前後ボタンに対応
implicitly_wait(time):暗黙的に待機し、要素が見つかる前の待機時間、timeの単位は秒です.その役割ドメインはグローバルであり、1つのセッションは1回しか設定されず、任意の要素が指定された時間内に見つからない場合は間違っています.要素が待つ話題を1編ずつ紹介しますが、ここでは詳しく説明しません
close():現在のウィンドウを閉じる
quit():ブラウザ全体を閉じると、すべてのウィンドウが閉じます.
refresh():Webページのリフレッシュ
get_screenshot_as_file(filename):ブラウザのスクリーンショットをpngファイルに保存します.ここで、filenameは/Users/jack/Downloads/screnshotなどの完全なパスである必要があります.png.
set_window_position(x,y,windowHandle='current'):x,yの単位はピクセルで、ブラウザの位置を設定します.get_window_position()は、ブラウザの現在の位置を取得できます.
set_window_size(width,height,windowHandle='current'):width,heightの単位はピクセルで、ブラウザの長さと幅を設定します.get_window_size()はブラウザのサイズを得ることができます.
maximize_Windows():ウィンドウを最大化します.