PythonとSelenium WebDriverで特定のドメインにCookieを設定する方法
PythonのSelenium WebDriverでは、特定のドメインに対してCookieを設定することができます。Cookieはブラウザが送受信する情報を保持するために使われるもので、キーと値(key-value)のペア形式で構成され、サーバーからブラウザへ渡されるメッセージのような役割を果たします。
Cookieを追加するにはadd_cookieメソッドを使用します。このメソッドにはキーと値がパラメータとして渡されます。すべてのCookieを取得したい場合はget_cookiesメソッドを、特定のCookieだけを取得したい場合はget_cookieメソッドを使用します。
また、Cookieを削除する際にはdelete_all_cookiesメソッドを使います。
基本構文
driver.add_cookie({"Automation": "QA"});
c= driver.get_cookies();
driver.get_cookie({"Automation");
driver.delete_all_cookies();実装例
以下は、Firefoxブラウザを使って実際にCookieの追加・取得・削除を行うサンプルコードです。各処理の内容はコメントとして記載しています。
from selenium import webdriver
#geckodriver.exeのパスを設定
driver = webdriver.Firefox(executable_path="C:\\geckodriver.exe")
driver.maximize_window()
#URLを開く
driver.get("https://www.tutorialspoint.com/index.htm")
#Cookieを追加
c = {'name' : "Automation", 'value' : 'QA'}
driver.add_cookie(c);
#Cookieの総数をカウント
print(len(driver.get_cookies()))
#名前を指定してCookieを取得
print(driver.get_cookie("Automation"))
#Cookieを削除
driver.delete_all_cookies();
#削除後のCookieを確認
d = driver.get_cookies()
print("全削除後のCookie数")
print(len(d))
#ブラウザを閉じる
driver.quit()実行結果
このコードを実行すると、まず追加直後のCookieの総数が出力され、続いて「Automation」という名前のCookieの内容(名前・値・ドメインなどの情報)が表示されます。その後、すべてのCookieを削除した状態でのCookie数が出力され、削除が正しく行われたことを確認できます。

-
【Python】Selenium WebDriverでページの読み込み完了まで待機する方法
Selenium WebDriverを使えば、ページが完全に読み込まれるまで待機することができます。Seleniumには「同期(synchronization)」という概念があり、これには暗黙的待機(implicit wait)と明示的待機(explicit wait)の2種類があります。ページの読み込み完了を待つ場合には、明示的待機の仕組みを利用するのが適切です。明示的待機(explicit wait)とは明示的待機は、特定の要素に対して設定された期待条件(expected condition)が満たされるまで待つ仕組みです。ページの読み込み完了を判定したい場合は、対象となる要素に対して p
-
PythonのSelenium WebDriverで特定要素のスクリーンショットを撮影する方法
Selenium WebDriverを使用すると、ページ全体ではなく、特定の要素だけを切り取った「部分的なスクリーンショット」を簡単に撮影できます。特定の要素のスクリーンショットを取得するには、まずid、name、class名などのロケーター(XPathやCSSセレクターなど)を使って、対象となるWeb要素を特定する必要があります。次に、そのWeb要素に対してscreenshot()メソッドを呼び出し、引数として拡張子付きの画像ファイル名を渡します。これにより、プロジェクトフォルダ内にその要素のスクリーンショットを含む新しい画像ファイルが作成されます。構文l=driver.find_eleme