2013-03-30 45 views
0

我; M用硒与PhantomJsdriver奇怪硒价值回归

using (IWebDriver driver = new PhantomJSDriver()) 
    {     

       driver.Navigate().GoToUrl("http://www.google.com");     

       var content = driver.PageSource; >> wrong content return 
    } 

内容总是"<html><head></head><body></body></html>"

driver.PageSource正确获取完整的网站内容。

这是怎么回事?真的很奇怪的行为。

回答

0

您遇到了计时问题。在加载整个DOM内容之前检索内容。检查内容的最简单方法是在检索内容之前添加Thread.Sleep(2000)。然而,这不是一个好习惯,因此在检索内容之前利用驱动程序为您提供的事件,或在检索内容之前等待加载特定的元素。

+0

感谢您的及时回复,但它不正确,因为我可以在我的调试点(使用Visual Studio)查看这两个值,真的很奇怪,悬停在内容和driver.pagesource上,它们显示不同的值。我相信所有的DOM内容都是完全加载的,否则,我无法查看驱动程序。页面导出完整的页面内容。 –

+0

好吧,我试过2000,也许太快了,所以我增加到Thread.Sleep(10000),变量内容现在得到正确的值。谢谢。 –