Я пытался почистить статью в среде.
Но это не удалось, поскольку selenium.webdriver.page_source не содержит целевой div.
[EG] Демистификация Python Decorators в LessЧем 10 минут https://medium.com/@adrianmarkperea/demystifying-python-decorators-in-10-minutes-ffe092723c6c
На этом сайте класс div для владельца содержимого имеет вид "x y z ab ac ez af ag
", но этот элемент не отображается в driver.page_source
.
шорткод: ниже.
Это не та проблема тайм-аута. Похоже, что drive.page_source не обрабатывается с помощью javascript, но я не знаю.
ARTICLE = "https://medium.com/@adrianmarkperea/demystifying-python-decorators-in-10-minutes-ffe092723c6c"
driver.get(ARTICLE)
text_soup = BeautifulSoup(driver.page_source,"html5lib")
text = text_soup.select(".x.y.z.ab.ac.ez.af.ag")
print(text) # => []
Я ожидаю, что выходные данные driver.page_source совпадают с выводом элементов консоли разработчика Chrome.
Обновление: Я провел некоторый эксперимент. Я сомневался, что webdriver не сможет обработать html-исходник с помощью javascript, поэтому я «селен-ред» нижеприведенного html-файла.
Но я получил html-файл с удаленным элементом.
результат:
веб-драйвер и обычная хромированная консоль одинаковы -> обработано
<html lang="en">
<body>
<script type="text/javascript">
document.querySelector("#id").remove();
</script>
</body></html>
wget / запросы -> не обработано
<html lang="en">
<body>
<div id="id">
test element
</div>
<script type="text/javascript">
document.querySelector("#id").remove();
</script>
</body></html>