代码如下:
如上述代码
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文本,请问该怎么修改代码