web-dev-qa-db-ja.com

Seleniumでウィンドウサイズを設定する方法Chrome Python

Selenium chromeウィンドウのサイズを変更する次のコードは機能しません。

driver.set_window_size(1920, 1080)
time.sleep(5)
size = driver.get_window_size()
print("Window size: width = {}px, height = {}px.".format(size["width"], size["height"]))

出力は次のとおりです。

Window size: width = 1044px, height = 788px

また、ドライバーの作成時にウィンドウサイズを設定するオプションを使用してみました(他の多くのことは、以下のコメントのようです)が、それを機能させることもできません。

options.add_argument("--window-size=1920,1080")

私はSelenium 3.14.0を使用していますchromeドライババージョン72.0.3626.109で、バックグラウンド/ヘッドレスモードで実行しています:文字通りバックグラウンドでコードを実行する必要があります。つまり、バックグラウンドで自動的に起動します。起動時に特定のユーザーに関連付けられているヘッドレスと、ヘッドレスであるが特定のユーザーに関連付けられておらず、他の特異性を持っている可能性がある背景との間には微妙な違いがあると思います-これは、私の問題の一部になります。

chromeドライバを動作させたいのですが、Firefoxは(私が必要としている)バックグラウンドで実行されていないため、つまり苦痛です)。

ウィンドウが非常に小さいときにクリックする必要のある要素が表示されないため、これを理解したいと思います。

4
David Miller

だから私は最終的に問題が何であるかを理解しました: 'ユーザーがログオンしているかどうかにかかわらず実行する'オプションでWindowsタスクスケジューラを実行すると、サイズ変更できない小さなブラウザー(1024x768)のみが開きます。

ここで解決された同じ問題を参照してください: モード「ユーザーがログオンしているかどうかにかかわらず実行する」での画面の解決、Windowsタスクスケジューラ

したがって、ユーザーがログオンしているときにのみ実行するのは、理想的ではない回避策です。

ご助力いただきありがとうございます!

0
David Miller