51Testing软件测试论坛

标题: selenium爬取卫健委无法获取文本 [打印本页]

作者: 测试积点老人    时间: 2021-11-29 10:04
标题: selenium爬取卫健委无法获取文本
问题:可以抓取到相关元素,但无法抓取对应文本
过程:
图1为网页源码,图2为print输出,图3为对应页面
尝试了text无法获取对应文本,查看is_displayed为true,并未隐藏,且通过print也可以看到相应元素已抓取到;
尝试get_attribute("innerHTML"),只有登记号可以抓取到,其余字段输出为空值“”(不是none)
[attach]135488[/attach]
[attach]135489[/attach]
[attach]135490[/attach]
代码如下:
  1. driver.find_element_by_partial_link_text("浏览").click()
  2. #切换当前页面标签
  3. driver.switch_to.window(driver.window_handles[1])
  4. #获取当前页面地址
  5. url = driver.current_url
  6. #获取页面信息
  7. allInfo = driver.find_elements_by_class_name("col-sm-8")
  8. print(allInfo)
  9. for info in allInfo:
  10.   print(info.get_attribute("innerHTML"))
复制代码
请问,如何才能抓取到对应字段内容,是中文的原因还是伪元素(after、befored)的原因?

作者: my_option    时间: 2021-11-29 13:30
切换新窗口句柄应为
driver.switch_to.window(driver.window_handles[-1])
你改下试试
作者: 海海豚    时间: 2021-11-30 09:23
判断文本是否被隐藏   driver.find_element_by_xx().is_displayed()
作者: qqq911    时间: 2021-11-30 10:26
试试直接获取返回呢
作者: jingzizx    时间: 2021-11-30 17:35
改改试试




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2