Как получить HTML-код из элементов, которые не появляются в исходном коде с селеном? - PullRequest
0 голосов
/ 11 июня 2018

Я работаю в приложении, которое использует очистку веб-страниц, но мне трудно понять, как получить некоторые данные с веб-страницы.Я вижу информацию, которую я ищу, когда использую «проверить элемент» в Firefox:

Дело в том, что она не появляется в HTML-кодестраница, которую я на самом деле могу получить с помощью селена, данные, которые я ищу, очевидно, управляются базой данных, и я застрял прямо там, есть ли способ удалить это с помощью селена?

Это URL между прочим: http://2ez.gg/#gg?name=Doombag&server=lan

Ответы [ 2 ]

0 голосов
/ 11 июня 2018

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

from selenium import webdriver
from selenium.webdriver.common.keys import Keys

driver=webdriver.Chrome()
URL='http://2ez.gg/#gg?name=Doombag&server=lan'

driver.get(URL)
driver.switch_to.frame('iframe-content')
elem=driver.find_element_by_css_selector('.WinRatioGraph div.Text')
print(elem.text)

Выход: 55%

0 голосов
/ 11 июня 2018

Вы, вероятно, должны попытаться очистить http://lan.op.gg/summoner/userName=Doombag вместо этого, http://2ez.gg/#gg?name=Doombag&server=lan содержит iframe, поэтому вы не можете найти 55% в теле документа.

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