我不知道如何设置使用Chromedriver时区。是否有一些ChromeOptions参数或什么?我到处搜索,没有找到。如何在Selenium Chromedriver中设置时区?
问题是,当我去一些网站(例如,https://whoer.net)时,它显示的系统时间等于在Windows上设置的时间。我希望能够以某种方式改变Chromedriver的时区来执行时区相关测试。
我试图设置一些浏览器选项:
Map<String, Object> chromeOptions = new HashMap<String, Object>();
chromeOptions.put("args", Arrays.asList("--disable-system-timezone-automatic-detection", "--local-timezone"));
DesiredCapabilities capabilities = DesiredCapabilities.chrome();
capabilities.setCapability(ChromeOptions.CAPABILITY, chromeOptions);
它不工作。
试图做使用Javascript一些奇怪的事情:
((JavascriptExecutor) driver).executeScript("Date.prototype.getTime = function() { return 1 };");
它没有帮助。
编辑:
发现这个https://sqa.stackexchange.com/questions/8838/faking-system-time-date-with-selenium-webdriver
试过从TimeShift.js复制这样的代码页上执行JavaScript的:在https://whoer.net
((JavascriptExecutor) driver).executeScript("/*code from TimeShift.js here*/ TimeShift.setTimezoneOffset(-60);");
系统时间没有改变。我究竟做错了什么?
它将始终显示在Windows上设置的时间。在Windows上更改时间。 –
也许这个类似的问题可以帮你https://stackoverflow.com/questions/35848043/selenium-scraping-changing-timezone –
@ Pv-Viana在这个问题,他是从一些网站刮一个时区,然后他可以选择所需时区来自网站的菜单。这不一样。 – Helen