Я пытаюсь сделать программу автоматизации, чтобы соскребить часть веб -сайта. Но этот веб -сайт изготовлен из JavaScript, а часть веб -сайта, которую я хочу скрепить, находится в теневой доме.def expand_shadow_element(element):
shadow_root = driver.execute_script('return arguments[0].shadowRoot', element)
return shadow_root
< /code>
и используйте < /p>
driver.page_source
< /code>
Чтобы получить HTML этого веб -сайта. Но этот код не показывает мне элементы, которые находятся внутри Shadow Dom. < /P>
Я попытался объединить эти два и попробовал < /p>
root1 = driver.find_element(By. CSS_SELECTOR, "path1")
shadow_root = expand_shadow_element(root1)
html = shadow_root.page_source
< /code>
Но я получил < /p>
AttributeError: 'ShadowRoot' object has no attribute 'page_source'
< /code>
для ответа. Поэтому я думаю, что мне нужно использовать BeautifulSoup, чтобы очистить данные с этой страницы, но я не могу понять, как комбинировать BeautifulSoup и Selenium, чтобы очистить данные из Shadow Dom. < /P>
p.s. Если часть, которую я хочу скрепить, < /p>
apple
1$
red
< /code>
Я хочу точно очистить этот код, а не < /p>
apple
1$
red
Подробнее здесь: https://stackoverflow.com/questions/742 ... shadow-dom
Как вы используете BeautifulSoup и Selenium, чтобы скрепить HTML внутри Shadow Dom? ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение