首页 > 解决方案 > 无法在 Python 中的类中获取详细信息

问题描述

我正在尝试使用 python 和 selenium 代码抓取以下网站。但是,当我尝试在“col-md-12 messageContentColumn”类中打印文本时,似乎什么都没有发生,也没有打印任何内容,我也没有收到错误消息。

driver.get("https://www.gpug.com/resources/forum")
driver.find_element_by_xpath('//*[@id="MainCopy_ctl02_MessageThreadSummary_hyperlinksubject_1"]').click()

posts = driver.find_elements_by_class_name("col-md-12 messageContentColumn")
print("test")      ---gets printed
for post in posts:
print(post.text)   ---Nothing gets printed
print("end")       ---gets printed

在此处输入图像描述

标签: pythonseleniumxpathcss-selectorswebdriverwait

解决方案


find_elements_by_class_name()只接受类名而不是多类名。相反,您可以使用 css 选择器。

处理动态元素induced WebDriverWaitAnd visibility_of_all_elements_located()

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


posts=WebDriverWait(driver,10).until(EC.visibility_of_all_elements_located((By.CSS_SELECTOR,".col-md-12.messageContentColumn")))
for post in posts:
   print(post.text)

推荐阅读