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 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 CSAPPattacklab
  • ¥15 一直显示正在等待HID—ISP
  • ¥15 Python turtle 画图
  • ¥15 stm32开发clion时遇到的编译问题
  • ¥15 lna设计 源简并电感型共源放大器