Попытка получить изображение из Div ID в Android Studio

0

Я, честно говоря, даже не знаю, где будет подходящее место, чтобы начать с этого, так что я с ним спотыкался. Я видел несколько подобных сообщений, но мне не удалось заставить работать.

То, что я хотел бы сделать, это использовать идентификатор div для получения определенного изображения с веб-сайта без необходимости жесткого кодирования ссылки на изображение. Например, одна из вещей, которые я пытаюсь сделать для этого, - это веб-комьюнити. Я бы хотел использовать тег 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, с которым я работал. К сожалению, у меня нет идентификатора изображения.

<div id="comic-1" class="comicpane"><a href="" title="..."><img src="..." alt="..." title="..."/></a></div> 
  • 0
    Разве comic-1 является тегом div ? Вы пытаетесь получить доступ к src тега div а не тега img . Тег div не имеет атрибута src . Вместо этого вы можете дать идентификатор тегу img и получить к нему доступ с помощью getElementById('image').src
Теги:
image
getelementsbytagname

1 ответ

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);
  • 0
    Благодарю. Это имеет смысл, но я думаю, мне следовало включить HTML-блок, с которым я работал. У меня нет идентификатора изображения для работы, к сожалению. <div id = "comic-1" class = "comicpane"> <a href="" title="..."> <img src = "..." alt = "..." title = ".. . "/> </a> </ DIV>
  • 0
    Ну, если это так, используйте getElementsByTagName() Проверьте мой отредактированный ответ.
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню