草庐IT

HtmlUnit

全部标签

javascript - 使用 HTMLUnit 调用 JavaScript 函数

我正在尝试调用thispage的函数showPage('3');,为使用后的页面源代码。我尝试像这样处理htmlUnit:WebClientwebClient=newWebClient();webClient.waitForBackgroundJavaScriptStartingBefore(10000);HtmlPagepage=webClient.getPage("http://www.visittrentino.it/it/cosa_fare/eventi/risultati?minEventDate=09012014&maxEventDate=31012014&tp=searc

javascript - HTMLUnit 不适用于 AngularJS

根据https://developers.google.com/webmasters/ajax-crawling/docs/html-snapshot,使用HtmlUnit(2.13)我正在尝试使用AngularJS(1.2.1)为网页创建快照。我的Java代码是:WebClientwebClient=newWebClient();webClient.setAjaxController(newNicelyResynchronizingAjaxController());webClient.setCssErrorHandler(newSilentCssErrorHandler());we

javascript - HTMLUnit:更改用户代理字符串

我在我的Java项目中使用HtmlUnit来测试一个包含Javascript的网页。我的代码单击一个调用Javascript函数的按钮,将用户重定向到另一个页面(如链接缩短服务)。这是代码:publicvoidclick(){WebClientwebClient=newWebClient();HtmlPagepage=webClient.getPage("http://mywebsite.com");HtmlImagea=page.getHtmlElementById("my_button");page=(HtmlPage)a.click();}问题在于HTMLUnit使用默认的用户代

javascript - 使用htmlunit抓取动态网页

我正在使用HtmlUnit从动态网页中抓取数据,它使用无限滚动来动态获取数据,就像facebook的新闻源一样。我用下面这句话来模拟向下滚动事件:webclient.setJavaScriptEnabled(true);webclient.setAjaxController(newNicelyResynchronizingAjaxController());ScriptResultsr=myHtmlPage.executeJavaScript("window.scrollBy(0,600)");webclient.waitForBackgroundJavaScript(10000);m

javascript - 有没有办法用 HtmlUnit 触发滚动事件,或者根本不可能?

我目前正在学习HtmlUnit以抓取网站。一切都进行得很顺利,直到我遇到一个动态页面(例如,我正在使用Pinterest网站),当用户向下滚动时,该页面上的元素会动态添加。我已经尝试了几种应该在真实浏览器中触发滚动的方法(我将在下面展示)。在继续之前,我想提一下我已经设置了以下配置:webclient.setJavaScriptEnabled(true);webclient.setAjaxController(newNicelyResynchronizingAjaxController());假设我想让我所有的关注者都在Pinterest上。我导航到那个页面,现在因为第一次只有24个,

xml - XPath 定位具有特定文本解析 HTML 表格的单元格

希望有人能迅速为我指明正确的方向,解决我的XPath问题。目前我已经到了在我的HTML源代码中识别我需要的正确表格的地步,但是我需要只处理DOM中某处具有文本“Chapter”的行。我最后的尝试是这样做://getthecorrecttableHtmlTabletable=page.getFirstByXPath("//table[2]");//nowthefailingbit....defrows=table.getByXPath("*/td[contains(text(),'Chapter')]")我认为上面的xpath将代表所有具有“td”子元素的元素,该子元素在其dom中某处包

javascript - 使用 WebDriver(HtmlUnit、Ruby 绑定(bind))时是否可以忽略 JavaScript 异常

当我加载页面时,HtmlUnit抛出异常并使我的测试崩溃caps=Selenium::WebDriver::Remote::Capabilities.htmlunit(:javascript_enabled=>true)driver=Selenium::WebDriver.for(:remote,:desired_capabilities=>caps)driver.navigate.тоurlReferenceError:"x"isnotdefined.(net.sourceforge.htmlunit.corejs.javascript.EcmaError)如果我使用Firefox驱

javascript - 如何结合 scrapy 和 htmlunit 使用 javascript 抓取 url

我正在使用Scrapy来抓取页面,但是,我无法使用javascript处理这些页面。人们建议我使用htmlunit,所以我安装了它,但我根本不知道如何使用它。谁能给我举个例子(scrapy+htmlunit)?非常感谢。 最佳答案 要使用javascript处理页面,您可以使用Webkit或Selenium。这里有一些来自snippets.scrapy.org的片段:Rendered/interactivejavascriptwithgtk/webkit/jswebkitRenderedJavascriptCrawlerWithSc

java - 带有 HTMLUnitDriver 的 Selenium 3.0.x

我的Maven项目中有selenium-java3.0.1。我读到这个版本没有与HTMLUnitDriver一起打包。因此,我在我的pom(可用的最新版本)中单独包含了selenium-htmlunit-driver2.52.0。但是,当我这样做时,我在测试运行时遇到以下异常:org.openqa.selenium.WebDriverException:java.lang.IllegalArgumentException:Cannotlocatedeclaredfieldclassorg.apache.http.impl.client.HttpClientBuilder.sslcont

java - Selenium HtmlUnitDriver 在随机位置随机挂起

我使用SeleniumHQ记录我的操作,然后将它们导出到JavaUnityWebDrive。然后我编辑了导出的代码并添加了许多额外的小东西,比如遍历数组、时间戳等。我的代码执行以下操作:登录我的网站。转到我的个人资料。删除我之前的公告。发布新公告。退出。我尝试过使用FirefoxDriver和HtmlUnitDriver,但它们中的每一个都给我带来了这个奇怪的问题。我的代码开始工作并随机停在随机位置并永远卡在那里。例如,它可以登录->转到配置文件->删除上一个然后停止,或者它可以在登录时挂起。我一遍又一遍地循环这些步骤,我循环得越多,就越有可能卡住。第一个循环的成功率为90%,第二个循