"NoneType"对象在尝试提取阴影根中的数据文本时没有属性"find_element"



试图用硒刮这个网站,不幸的是,我想提取的文本是在影子根dom内,就像其中的2个(提供截图https://prnt.sc/ly-T8RLVxr91)我试图获得的属性是"user-topic- title "one_answers"user-topic-line-btm">

这是我的代码

def expand_shadow_element(element):
shadow_root = driver.execute_script('return arguments[0].shadowRoot', element)
return shadow_root

driver = webdriver.Chrome(ChromeDriverManager().install())
shadow = Shadow(driver)
z = shadow.chrome_driver.get('https://www.alodokter.com/komunitas/topic/penyebab-dan-cara-mengatasi-sakit-di-bawah-pusar')
html = driver.page_source
soup = BeautifulSoup(html, "html.parser")
top = driver.find_element(By.ID, 'topic-top')
topbt = expand_shadow_element(top)
btom = topbt.find_element(By.CSS_SELECTOR, 'user-topic-top')
for t in btom:
print(t.text)

error I got

'NoneType' object has no attribute 'find_element'

那么我如何访问阴影根dom并提取文本呢?我希望得到这些文本https://prnt.sc/yp5H_KteB8tm

我很抱歉,如果我的问题太长了,我对编程有点陌生。如有任何帮助,不胜感激。

这里的topic-top元素没有影子根元素。这就是为什么对它应用expand_shadow_element方法没有返回任何东西。这样,topbt就变成了一个'NoneType'对象。

相关内容

  • 没有找到相关文章

最新更新