老实说,我甚至不知道从哪里开始这个地方,所以我一直在摸索它。我已经看过几个类似的帖子,但是我还没有得到任何工作。
我想要做的是使用div id从网站获取特定图像,而无需对图像链接进行硬编码。例如,我正在尝试执行此操作的其中一项是一个webcomic。我希望能够使用div id =“comic-1”标签,并获得它连接的img src =“...”。
我对这样做的方法非常开放。这是我最近尝试的内容:
wView.loadUrl("...");
wView.getSettings().setJavaScriptEnabled(true);
wView.getSettings().setLoadWithOverviewMode(true);
wView.getSettings().setUseWideViewPort(true);
wView.getSettings().setSupportZoom(true);
wView.getSettings().setBuiltInZoomControls(true);
wView.setWebViewClient(new WebViewClient(){
@Override
public void onPageFinished (WebView webView, String url)
{
webView.loadUrl("javascript:document.getElementById('comic-1').src;");
}
但它没有加载图像。它只是正常加载网站。
此外,这有点像是一次拍摄,但我正在试图弄清楚如何使用这些标签。我想做的另一件事是删除标签内的东西。这是我为此尝试过的:
webView.loadUrl("javascript:(function() { " +
"document.getElementsByTagName('header')[0].style.display=\"none\"; " +
"})()");
我应该包含我正在使用的HTML块。遗憾的是,我没有图片ID。
<div id="comic-1" class="comicpane"><a href="" title="..."><img src="..." alt="..." title="..."/></a></div>
答案 0 :(得分:0)
你可以试试这个:
HTML块:
<div id="comic-1">
<img id="image" src="http://www.w3schools.com/jsref/compman.gif" width="107" height="98">
<img id="smile" src="http://www.w3schools.com/tags/smiley.gif" width="107" height="98">
</div>
访问它:
webView.getSettings().setJavaScriptEnabled(true);
webView.loadUrl(URL);
webView.setWebViewClient(new WebViewClient(){
@Override
public void onPageFinished(WebView webView, String url)
{
webView.loadUrl("javascript:var s = document.getElementById('smile').src;document.write(s);");
}
});
按照上面显示的示例,这将在文档中写入图像源。
<强> [编辑] 强>
var parent = document.getElementById("comic-1");
var child = parent.getElementsByTagName("img");
document.write(" image 1 = " + child[0].src + " image 2 = " + child[1].src);