过程
获取百度搜索结果的前100条记录,通过观察,我发现每条记录的xpath形如 id("order")/h3[1]/a[1] 这样的形式,每条记录的xpath按照顺序,id逐渐增大。
于是我便想着通过循环的方式来获取100条记录的链接,通过实际编码我发现,会提示:selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"xpath","selector":"id("1")/h3[1]/a[1]"} 这样的错误,一般情况下,出现这种情况是因为页面中可能存在frame/iframe结构且你想要找得元素恰好在这个结构里。通过在网页代码中搜索,我没有看到frame/iframe这样的标签,那为什么会报错呢?在网上查了一些资料,没有找到答案。最终不经意间想到,百度搜索结果时需要时间反应,造成该错误的原因是
没有设置时间等待( time.sleep(2) )
源代码
# 在百度中搜索“python”,去除前100条查询结果的链接并打印出来
from selenium import webdriver
from time import sleep
dr = webdriver.Chrome();
dr.get(&#