且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

AttributeError:'str'对象没有属性'descendants'

更新时间:2023-12-02 23:27:28

这对我有用:

import time
from selenium import webdriver
from bs4 import BeautifulSoup as soup
driver = webdriver.Chrome("/path/to/chromedriver")
driver.get('http://uitspraken.rechtspraak.nl/inziendocument?id=ECLI:NL:HR:2014:3004&showbutton=true&keyword=HR%3a')
time.sleep(5)
page = soup(driver.page_source, "html.parser")
details = page.select_one("span.hl0.highlightColor0").find_parent().get_text()
print(details)
driver.quit()

# output: HR: art. 81RO.

但是既然您还是在使用硒,为什么不坚持使用硒呢?

But since you're using selenium anyway, why not just stick with it?

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.ui import WebDriverWait

driver = webdriver.Chrome("/path/to/chromedriver")
driver.get('http://uitspraken.rechtspraak.nl/inziendocument?id=ECLI:NL:HR:2014:3004&showbutton=true&keyword=HR%3a')
wait = WebDriverWait(driver, 10)
xpath = "//p/span[contains(@class, 'highlightColor0') and contains(@class, 'hl0')]/.."
details = wait.until(EC.visibility_of_element_located((By.XPATH, xpath)))
print(details.text)
driver.quit()

# output: HR: art. 81RO.

如果您不想使用"HR:"部分,可以将其删除:

If you don't want the 'HR:' part you can remove it:

details.split('HR: ')[1]

# output: art. 81RO.