Java 网络客户端(htmlunit)不';我看不到一些元素
我试图使用“page.asText()”解析steam marketplace的网页,但这不起作用。这可能是因为在1秒内加载html后没有加载项Java 网络客户端(htmlunit)不';我看不到一些元素,java,html,web-scraping,htmlunit,Java,Html,Web Scraping,Htmlunit,我试图使用“page.asText()”解析steam marketplace的网页,但这不起作用。这可能是因为在1秒内加载html后没有加载项 public static void main(String[] args) throws Exception{ java.util.logging.Logger.getLogger("com.gargoylesoftware.htmlunit").setLevel(java.util.logging.Level.OFF);
public static void main(String[] args) throws Exception{
java.util.logging.Logger.getLogger("com.gargoylesoftware.htmlunit").setLevel(java.util.logging.Level.OFF);
java.util.logging.Logger.getLogger("org.apache.http").setLevel(java.util.logging.Level.OFF);
String link="http://steamcommunity.com/market/search?appid=730#p6_price_asc";
HtmlPage page;
WebClient webClient = new WebClient(BrowserVersion.CHROME);
page = (HtmlPage) webClient.getPage(link);
System.out.println(page.asText());
}
在控制台中,我看到:
Show advanced options...
< 1 2 3 4 5 6 ... 939 >
Showing 1-10 of 9389 results
显示高级选项。。。
< 1 2 3 4 5 6 ... 939 >
显示9389个结果中的1-10个
它需要:
Show advanced options...
PRICE
QUANTITY
NAME
31,218
Starting at:
$0.35 USD
Operation Hydra Case
Counter-Strike: Global Offensive
276,582
Starting at:
$0.23 USD
.
.
.
M4A1-S | Decimator (Field-Tested)
Counter-Strike: Global Offensive
232
Starting at:
$27.06 USD
AWP | Asiimov (Battle-Scarred)
Counter-Strike: Global Offensive
28,068
Starting at:
$0.75 USD
Krakow 2017 Legends Autograph Capsule
Counter-Strike: Global Offensive
< 1 2 3 4 5 6 ... 940 >
Showing 1-10 of 9392 results
显示高级选项。。。
价格
量
名称
31,218
开始时间:
0.35美元
九头蛇行动
反击:全球攻势
276,582
开始时间:
0.23美元
.
.
.
M4A1-S |抽取器(现场测试)
反击:全球攻势
232
开始时间:
27.06美元
AWP | Asimov(战痕累累)
反击:全球攻势
28,068
开始时间:
0.75美元
克拉科夫2017传奇签名胶囊
反击:全球攻势
< 1 2 3 4 5 6 ... 940 >
显示9392个结果中的1-10个
首先,确保启用了javascript
webClient.getOptions.setJavaScriptEnabled(true);
为了等待加载更多元素,我通常会执行以下操作:
thread.sleep(3000);
这使页面有3秒钟的时间来加载所有附加内容
您也可以尝试其他用户在此处列出的任何其他方法:
何时需要使用“线程睡眠(3000)”?WebClient WebClient=新的WebClient(BrowserVersion.CHROME);webClient.getOptions().setJavaScriptEnabled(true);page=(HtmlPage)webClient.getPage(link);System.out.println(page.asText());您需要在webClient.getPage(link.WOW)之后使用thread.sleep()。“getPage(link)”是否总是重新加载?我想是一次又一次。谢谢你。这么多)没问题。如果我的回答对你有帮助,请考虑我的答案并接受它。谢谢