热线电话:13121318867

登录
2020-11-10 阅读量: 3410
Python的selenium中出现以下错误no such element: Unable to locate element: 的原因是什么?

那么我们可以试试用如下代码 来将 第一个搜索结果里面的文本内容 打印出来

from selenium import webdriver

wd = webdriver.Chrome(r'd:\webdrivers\chromedriver.exe')

wd.get('https://www.baidu.com')

element = wd.find_element_by_id('kw')

element.send_keys('白月黑羽\n')# id 为 1 的元素 就是第一个搜索结果element = wd.find_element_by_id('1')# 打印出 第一个搜索结果的文本字符串print (element.text)

如果大家去运行一下,就会发现有如下异常抛出

selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"id","selector":"1"}

NoSuchElementException 的意思就是在当前的网页上 找不到该元素, 就是找不到 id 为 1 的元素。

为什么呢?

因为我们的代码执行的速度比 百度服务器响应的速度 快。

百度还没有来得及 返回搜索结果,我们就执行了如下代码

element = wd.find_element_by_id('1')

在那短暂的瞬间, 网页上是没有用 id为1的元素的 (因为还没有搜索结果呢)。自然就会报告错误 id为1 的元素不存在了。


0.0000
0
关注作者
收藏
评论(0)

发表评论

暂无数据
推荐帖子