あるサイトをPythonで自動化しようとしたら、要素が取れないことがありました。
原因は、レスポンシブwebデザイン。
サイズによって要素が変わるため、エラーになっていたのです。
それなら、ウィンドウサイズを指定すれば良いかも。
と、いうわけで、Pythonでウィンドウサイズを変える方法をまとめてみました。
ウィンドウサイズを変えるには?
WebDriverに対して、「set_window_size()」を使います。
引数の1つ目が幅、2つ目が高さです。
次のコードは、開いたブラウザのサイズを「幅1200:高さ1000」にします。
from selenium import webdriver
driver = webdriver.Chrome("【chromedriverのパス】")
driver.set_window_size(1200,1000)
ウィンドウサイズを最大化する「maximize_window()」メソッドもあります。
使い方は、「set_window_size()」と入れ替えるだけです。
ウィンドウサイズを取得するには?
WebDriverに対して、「get_window_size()」を使います。
返り値は、配列ではなく辞書型です。
最後の()を忘れるとエラーになって動きません。
from selenium import webdriver
driver = webdriver.Chrome("【chromedriverのパス】")
driver.set_window_size(1200,1000)
print(driver.get_window_size())
# ⇒ {'width': 1200, 'height': 1000}
まとめ
WebDriverに対して、「set_window_size()」でサイズ指定、「maximize_window()」で最大化、「get_window_size()」でサイズ取得ができます。
レスポンシブwebデザインでも無事に要素を取得することができました。