求助:selelnium获取网页指定区域的text输出空字符如何解决

代码如下:

如上述代码

​from selenium.webdriver.common.by import By
from selenium import webdriver
from time import sleep
from selenium.webdriver import ChromeOptions
from lxml import etree

option = ChromeOptions()
option.add_experimental_option('excludeSwitches', ['enable-automation'])
browser = webdriver.Chrome(options=option)
browser.get('http://szb.northnews.cn/nmgrb/html/2023-07/23/node_1.htm?v=1')
browser.find_element(By.XPATH, '//*[@id="keyword"]').send_keys('乡村振兴')
browser.find_element(By.XPATH, '//*[@id="Btsearch"]').click()
sleep(10)
import time

js = "$('input:eq(0)').removeAttr('readonly')"  # jQuery,移除属性
# js = "$('input:eq(0)').attr('readonly',false)"  # jQuery,设置为false
browser.get('http://fullsearch.cnepaper.com/FullSearch.aspx?key=%E4%B9%A1%E6%9D%91%E6%8C%AF%E5%85%B4&dbids=1093')
browser.execute_script(js)
browser.find_element(By.XPATH, '//*[@id="Txt_SiteStart"]').send_keys('2017-10-19')
browser.find_element(By.XPATH, '//*[@id="Txt_SiteEnd"]').send_keys('2022-12-31')
browser.find_element(By.XPATH, '//*[@id="header"]/div[2]/div[1]/button').click()
sleep(10)
labels = browser.find_elements(By.XPATH, '//*[@id="need"]/li[1]')
for i in range(len(labels)):
    labels[i].find_element(By.XPATH, '//*[@id="need"]/li[1]/span/a').click()
    sleep(10)
    text = browser.page_source
    html = etree.HTML(text)
    newsname = html.xpath('/html/body/table[1]/tbody/tr/td/table/tbody/tr[3]/td/table/tbody/tr/td[3]/table/tbody/tr[2]/td/div/table/tbody/tr[1]/td/table/tbody/tr[2]/td/founder-title/p/text()')
    newstime = html.xpath('//*[@id="banner_top_date"]/span/text()')
    newsinforlabel=html.xpath('//div[@class="content"]')
    newsinfor=newsinforlabel[0].xpath('string(.)')
    print(newstime)
    browser.back()
    sleep(5)

如上述代码

newstime = html.xpath('//*[@id="banner_top_date"]/span/text()')
print(newstime)

输出空字符

也尝试了

newstime = html.xpath('//*[@id="banner_top_date"]/span').text
print(newstime)

newstime = html.xpath('//*[@id="banner_top_date"]/span/').get_attribute(Content text)
print(newstime)等代码,

但是还是无法输出text文本,请问该怎么修改代码

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值