qq_42985838 2021-07-22 13:29 采纳率: 81.5%
浏览 261
已结题

selenium判断网页是否存在标签问题


from datetime import time
from lxml import etree
import time
import requests
from selenium import webdriver

p = input('请输入问题:')

driver = webdriver.Chrome(executable_path="D:\桌面\编程\python\环境变量\chromedriver.exe")

driver.get('https://www.baidu.com')
driver.find_element_by_id("kw").send_keys("site:zhidao.baidu.com " + p)
driver.find_element_by_id("su").click()
driver.find_element_by_id("su").click()

time.sleep(1)
elem1 = driver.find_element_by_link_text("百度知道")
elem1.click()
time.sleep(2)
# 切换当前标签
driver.switch_to.window(driver.window_handles[1])
# 用这个获取url
print(driver.current_url)

time.sleep(1)

url = driver.current_url

headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36 Edg/91.0.864.67'
}
r = requests.get(url, headers=headers)
r.encoding = 'gbk'
html = etree.HTML(r.text)

try:
    driver.find_element_by_xpath('//div[@class="best-text mb-10"]')
    print("存在1")
    i = html.xpath('//div[@class="best-text mb-10"]/text()')
    p = ''.join(i)
    print(p)

    driver.find_element_by_xpath("//div[@class='answer-text mb-10']")
    print("存在2")
    i = html.xpath('//div[@class="line content')
    print(i)
    p = ''.join(i)
    print(p)

    driver.find_element_by_class_name('line content')
    print('存在3')
    i = html.xpath('//div[@class="line content')
    print(i)
    p = ''.join(i)
    print(p)

except:
    print("不存在")

img

img

img
网页是存在后两个标签的不知道为什么判断网页标签不存在,

  • 写回答

1条回答 默认 最新

  • python收藏家 2021-07-22 14:03
    关注

    存在1 的打印输出也没有,肯定是 driver.find_element_by_xpath('//div[@class="best-text mb-10"]') 就程序异常了

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 10月30日
  • 已采纳回答 10月22日
  • 修改了问题 7月22日
  • 创建了问题 7月22日

悬赏问题

  • ¥15 linux驱动,linux应用,多线程
  • ¥20 我要一个分身加定位两个功能的安卓app
  • ¥15 基于FOC驱动器,如何实现卡丁车下坡无阻力的遛坡的效果
  • ¥15 IAR程序莫名变量多重定义
  • ¥15 (标签-UDP|关键词-client)
  • ¥15 关于库卡officelite无法与虚拟机通讯的问题
  • ¥15 目标检测项目无法读取视频
  • ¥15 GEO datasets中基因芯片数据仅仅提供了normalized signal如何进行差异分析
  • ¥100 求采集电商背景音乐的方法
  • ¥15 数学建模竞赛求指导帮助