4

因此,如果我执行以下操作:

 driver = webdriver.Chrome() # this results in the browser displaying the about page
 driver.get("http://somesite.com/")  # now the browser goes to the URL

然后,如果我通过浏览器中的 javascript 控制台检查历史长度,我得到的值为 2。我需要模拟使用 URL 打开新选项卡或窗口的情况,因此历史长度为 1。

提前致谢。

4

3 回答 3

6

您可以在初始化 WebDriver 时设置一些特定标志以传递给它。您可以在此处查看示例(适用于 Chrome),还有一个指向完整开关列表的链接。以下是如何在 java 中设置 ChromeDriver 的主页:

DesiredCapabilities capabilities = DesiredCapabilities.chrome();
capabilities.setCapability("chrome.switches",
        Arrays.asList("--homepage=http://somesite.com/"));
WebDriver driver = new ChromeDriver(capabilities);
于 2013-09-27T01:55:04.510 回答
1

options.AddArgument("--homepage \"url\""); 像这样,设置空主页: options.AddArgument("--homepage \"data:,\"");

于 2018-05-04T13:59:44.657 回答
0

我认为您在这里有 3 种可能的选择。(1 可能不是)

选项1:

设计自己的get方法来执行 javascript。类似的东西, window.location.replace("http://somesite.com/")所以它不会被记录到历史记录中。

选项 2:

在您的验证中,只需确保您验证n-1“假装”它不存在。

选项3:(不确定这种可能性)

使用JavascriptExecutor,找到一种可以修改history对象的方法,然后取出初始about:blank历史记录条目。

于 2013-09-26T20:49:20.787 回答