Python-Selenium: не удается удалить изображение из строки html / javascript - PullRequest
0 голосов
/ 21 мая 2019

У меня есть одна строка HTML, которую я открываю в браузере от PhanthomJs и пытаюсь сохранить итоговый URL.

Мой код выглядит так, как показано ниже.

driver.get("data:text/html;charset=utf-8,{html_content}".format(html_content=html_content))
element = driver.find_element_by_tag_name('body')
elem =  element.find_element_by_tag_name('noscript')
print elem.find_element_by_tag_name('img')

html_content выглядит как ниже.

<script language="javascript" src="https://somejs"></script>
<noscript>
<a href="https://track.adform.net/C/?bn=15864640;C=0" target="_blank">
<img src="https://actualimage.net/verbserve/?bn=155679864640;srctype=4;ord=[timestamp]" border="0" width="728" height="90" alt=""/>
</a>
</noscript>

Над HTML визуализировать изображение, когда я запускаю его локально в виде HTML-файла.

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

Я получаю ошибку ниже.

selenium.common.exceptions.NoSuchElementException: Message: {"errorMessage":"Unable to find element with tag name 'img'","request"

Пожалуйста, дайте мне знать, что я могу здесь делать не так.

1 Ответ

1 голос
/ 21 мая 2019

Попробуйте, если простой HTML-контент не является контентом веб-страницы

from bs4 import BeautifulSoup

html_content = """ <script language="javascript" src="https://somejs"></script>
<noscript>
<a href="https://track.adform.net/C/?bn=15864640;C=0" target="_blank">
<img src="https://actualimage.net/verbserve/?bn=155679864640;srctype=4;ord=[timestamp]" border="0" width="728" height="90" alt=""/>
</a>
</noscript>""" 


sp = BeautifulSoup(html_content,'html.parser')

elem =  sp.find('noscript')

img = elem.find('img') 
print(img['src'])

O / P:

https://actualimage.net/verbserve/?bn=155679864640;srctype=4;ord=[timestamp]

содержание веб-страницы в утилитах по URL-адресу сайта:

driver = webdriver.Chrome("/usr/bin/chromedriver")
driver.get('http://www.test.com')

sp = BeautifulSoup(driver.page_source,'html.parser')

elem =  sp.find('noscript')

img = elem.find('img') 
print(img['src'])

Где "/usr/bin/chromedriver" Путь привода хрома

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...