硒铬驱动程序中的伪造系统日期

时间:2018-08-07 13:47:25

标签: selenium date selenium-chromedriver

所以我有此测试需要我运行,并且它是基于时间的。 Kinda就像是在特定日期之间进行的打折活动。我想在浏览器中伪造系统日期。

该网页在加载后立即检查系统日期。那么有什么办法可以在加载之前更改日期。现在,我可以注入javascript,它仅在函数中模拟日期。

((JavascriptExecutor) driver).executeScript("var dateYouWant = 1534413600000; Date.prototype.getTime = function() { return dateYouWant; };");

是否可以永久更改日期或直到关闭浏览器?

1 个答案:

答案 0 :(得分:1)

您是否曾尝试使用cmd和Runtime更改系统时间?在Windows中有效。

Runtime.getRuntime().exec("cmd /C time " + "12:13:35");

对于MAC / Linux,您可以使用Bash可执行文件。

Runtime.getRuntime().exec("/bin/bash -c your_command");

例如,在Ubuntu中,我使用以下命令更改时间:

sudo date --set="2018-08-08 10:05:59.990"

将其放在bash脚本中,并按照我上面提到的方式使用它。