python报错:NoSuchElementException: no such element: Unable to locate element:

用python、selenium爬取网页时出现一下错误:

NoSuchElementException: no such element: Unable to locate element: {"method":"xpath","selector":"//*[@id="container"]/div/div/div[2]/h1"}
  (Session info: headless chrome=102.0.5005.63)

错误原因:

脚本执行到“xpath”这一行代码时,对应页面上的元素还没加载完成,因此报错。

解决方法:

#coding:utf-8
from selenium import webdriver
import selenium.webdriver.support.ui as ui

driver = webdriver.Chrome()
# driver = webdriver.Chrome(chrome_options=chrome_options)   # 也可用driver = webdriver.Chrome()
driver.get('http://www.xxxxx.com')
wait = ui.WebDriverWait(driver,9)
wait.until(lambda driver: driver.find_element_by_xpath("//span[text()='你好']"))
driver.find_element_by_xpath("//span[text()='你好']").click()
'''
import selenium.webdriver.support.ui as ui
wait = ui.WebDriverWait(driver,5)
wait.until(lambda driver: driver.find_element_by_xpath("//span[text()='你好']"))
其中这3行代码,表示会反复调用until中的函数,找到就返回,超过9秒就抛出Timeout异常:TimeoutException。
'''
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值