我正在尝试为一个网站创建selenium测试。简而言之,当用户打开网站时,CMS会向页面添加一些动态元素(HTML + JS)。
当我在FF驱动程序上运行测试时 - 一切正常。
FF驱动程序配置:
DesiredCapabilities desiredCapabilities = new DesiredCapabilities();
desiredCapabilities.setCapability(CapabilityType.ELEMENT_SCROLL_BEHAVIOR,1);
return new FirefoxDriver(desiredCapabilities);
driver.manage().window().maximize();
driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);
在这种情况下,某些页面部分。
driver.getPageSource()
如您所见,动态块确实存在。
但是在HtmlUnit的情况下:
HtmlUnitDriver htmlUnitDriver = new HtmlUnitDriver();
driver.manage().window().maximize();
driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);
...动态区块不存在:http://pastebin.com/b4iRGzjM
您能否建议我如何解决或分享一些想法?
我试过了:
htmlUnitDriver.setJavascriptEnabled(true);
但我收到以下错误:http://pastebin.com/qRazGjGY
答案 0 :(得分:0)
没有解决这个问题。所以,我盯着使用Remote Driver + PhantomJS。 HTMLunit不支持所有JS库。