【发布时间】:2017-02-01 18:29:23
【问题描述】:
所以我有一个页面需要很长时间才能加载,因为它加载了一些背景内容。我希望能够在加载 DOM 并且 readyState 为“交互式”后立即与它进行交互。基本上我只想点击一个链接让我离开这个页面,因为我不需要在继续之前加载整个内容。但是,在加载页面之前,我似乎无法在驱动程序上运行 Javascript;发生的事情是我的 ExecuteJavascript 函数也超时了。
try
{
element.Click(); //BrowserCommandTimeout was set to 10 seconds
}
catch (Timeout e)
{
string state = driver.ExecuteJs("return document.readyState").ToString(); //Also times out after 10 seconds
while ((state != "complete") && state != "interactive")
{
Utilities.Sleep(2000);
}
}
有人知道如何解决这个问题吗?
【问题讨论】:
-
您是否尝试过使用转义键执行
.SendKeys()?这应该会阻止页面加载,然后您应该能够继续。我似乎记得在过去看到其他人尝试过。我不知道这会解决整个问题,但可能会让你更快地到达你想去的地方。
标签: javascript c# selenium selenium-webdriver