自動化にSelenium WebDriverを使用しており、Chromedriverを使用しています。
ドライバーを実行してchromeブラウザーを開くと、ブラウザーが奇妙なサイズで開くことに気付きました。それを修正しようとしましたが、無駄でした。
誰がどのように変更できるか知っていますか?
私はそれが古いスレッドであることを知っていますが、上記のどれも私にとってはうまくいきませんでした。私は使っています
chrome = 57.0.2987.133
chromedriver = 2.27.440174
そして、これは私のために働いた:
from Selenium.webdriver.chrome.options import Options
chrome_options = Options()
chrome_options.add_argument("--window-size=1920,1080")
driver = Chrome(chrome_options=chrome_options)
カスタムサイズにこれを使用します。
driver.manage().window().setSize(new Dimension(1024,768));
要件に合わせて寸法を変更できます。
@ yonatan-kironの回答のC#バージョン、およびサンプルコードからのSeleniumのusing
ステートメント。
ChromeOptions chromeOptions = new ChromeOptions();
chromeOptions.AddArgument("--window-size=1300,1000");
using (IWebDriver driver = new ChromeDriver(chromeOptions))
{
...
}
これを試して
using System.Drawing;
driver.Manage().Window.Size = new Size(width, height);
#use chrome webdriver
driver = webdriver.Chrome('path to /chromedriver') driver.set_window_size(1400,1000)
ウィンドウを最大化するには、driver.manage.window.maximize();
を試してください。
PhpにFacebook言語バインディングを使用している場合、これを試してください:
$driver->manage()->window()->setSize(new WebDriverDimension(1024,768));
Ruby
アプローチ#1
options = {
'chromeOptions' => {
'args' => ['start-fullscreen']
}
}
caps = Selenium::WebDriver::Remote::Capabilities.chrome(options)
@driver = Selenium::WebDriver.for :chrome, desired_capabilities: caps
アプローチ#2
options = {
'chromeOptions' => {
'args' => ['window-size=640,480']
}
}
caps = Selenium::WebDriver::Remote::Capabilities.chrome(options)
@driver = Selenium::WebDriver.for :chrome, desired_capabilities: caps
アプローチ#
max_width, max_height = @driver.execute_script("return [window.screen.availWidth, window.screen.availHeight];")
@driver.manage.window.resize_to(max_width, max_height)
アプローチ#4
@driver.manage.window.maximize
アプローチ#5
target_size = Selenium::WebDriver::Dimension.new(1600, 1268)
@driver.manage.window.size = target_size
アプローチ#6
@driver.manage.window.resize_to(640, 480)
アプローチ#7
@driver.execute_script("window.resizeTo(640, 480);")
次のchromeオプションは、ヘッドレスクロームに対して機能しました。
IN Java:
ChromeOptions chromeOptions = new ChromeOptions();
chromeOptions.addArguments("--window-size=1920,1080");
chromeOptions.setHeadless(true);
driver = new ChromeDriver(chromeOptions);
driver.get("your-site");
driver.manage().window().maximize();
Selenium-Java:3.8.1
クロムドライバー:2.43
Chrome:v69-71
Clojureと https://github.com/semperos/clj-webdriver を使用している場合、このスニペットを使用してブラウザーのサイズを変更できます。
(require '[clj-webdriver.taxi :as taxi])
; Open browser
(taxi/set-driver! {:browser :chrome} "about:blank")
; Resize browser
(-> taxi/*driver* (.webdriver) (.manage) (.window)
(.setSize (org.openqa.Selenium.Dimension. 0 0)))
つかいます Dimension Class
ウィンドウサイズを制御します。
Dimension d = new Dimension(1200,800); //(x,y coordinators in pixels)
driver.manage().window().setSize(d);
Rubyバージョン:
caps = Selenium::WebDriver::Remote::Capabilities.chrome("chromeOptions" => {"args"=> ["--window-size=1280,960"]})
url = "http://localhost:9515" # if you are using local chrome or url = Browserstack/ saucelabs hub url if you are using cloud service providers.
Selenium::WebDriver.for(:remote, :url => url, :desired_capabilities => caps)
resize chromeは最新のchromedriversでバグがあり、このエラーメッセージで断続的に失敗します。
unknown error: cannot get automation extension
from timeout: cannot determine loading status
from timeout: Timed out receiving message from renderer: -65.294
(Session info: chrome=56.0.2924.76)
(Driver info: chromedriver=2.28.455517 (2c6d2707d8ea850c862f04ac066724273981e88f)
また、JavaScriptを介したresizeToは、Selenium Webdriverを介して開始されたchromeではサポートされていません。したがって、最後のオプションはコマンドラインスイッチを使用していました。
Java/groovyで試してください:
import Java.awt.Toolkit;
import org.openqa.Selenium.Dimension;
import org.openqa.Selenium.Point;
...
Java.awt.Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
Dimension maximizedScreenSize = new Dimension((int) screenSize.getWidth(), (int) screenSize.getHeight());
driver.manage().window().setPosition(new Point(0, 0));
driver.manage().window().setSize(maximizedScreenSize);
これにより、ブラウザが全画面表示されます