用xpath方法定位,出现定位错误问题
selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"xpath","selector":"/html/body/div[1]/div[3]/div[1]/div[3]/div[1]/div/div/div[1]/div/div[1]/div/div/h3/div/a"}
(Session info: chrome=90.0.4430.93)
发一下代码看看
from selenium import webdriver eve=webdriver.Chrome("D:\chromedriver_win32\chromedriver.exe") # 生成浏览器操作对象(eve),可以通过这个浏览器对象模拟用户行为,并指定浏览器驱动文件所在路径 eve.get("https://www.baidu.com/") eve.implicitly_wait(10) # 使用get方法向百度网站发起请求 eve.find_element_by_id("kw").send_keys("EVE") eve.implicitly_wait(10) # 找到百度上面的输入框,输入内容 eve.find_element_by_id("su").click() eve.implicitly_wait(10) # 找到“百度一下”按钮,点击 eve.find_element_by_xpath("/html/body/div[1]/div[3]/div[1]/div[3]/div[1]/div/div/div[1]/div/div[1]/div/div/h3/div/a").click() eve.implicitly_wait(10) # 找到EVE官网链接,点击进入 windows1=eve.window_handles eve.implicitly_wait(10) print(windows1) # 获取所有窗口信息,放入windows列表里面 eve.switch_to.window(windows1[1]) eve.implicitly_wait(10) # 把窗口切换到windows列表里的第二个窗口 eve.find_element_by_xpath("/html/body/div[1]/div[2]/div[2]/div[1]/a[2]").click() eve.implicitly_wait(10) # 找到“游戏介绍”,点击 windows2=eve.window_handles eve.implicitly_wait(10) print(windows2) # 获取所有窗口信息,放入windows列表里面 eve.switch_to.window(windows2[2]) eve.implicitly_wait(10) # 把窗口切换到windows列表里的第三个窗口 eve.find_element_by_xpath("/html/body/div[2]/div[3]/a[1]").click() eve.implicitly_wait(10) # 找到“初识EVE”,点击 windows3=eve.window_handles eve.implicitly_wait(10) print(windows3) # 获取所有窗口信息,放入windows列表里面 eve.switch_to.window(windows3[3]) eve.implicitly_wait(10) # 把窗口切换到windows列表里的第四个窗口 info=eve.find_elements_by_xpath("/html/body/div[2]/div[4]/div[1]").text() eve.implicitly_wait(10) # 获取该位置元素所包含的文本内容 file=open("D:\\EVE背景介绍","w") eve.implicitly_wait(10) # 打开文件的读写通道,创建名字为“EVE背景介绍”的文件,并执行覆盖写入操作 file.write(info) eve.implicitly_wait(10) # 写入获取到的info信息到新建的文件里面 file.close() # 关闭该文件的读写通道 eve.close() # 关闭当前操作窗口 eve.quit() # 关闭整个浏览器实例
您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632
非常感谢您使用有问必答服务,为了后续更快速的帮您解决问题,现诚邀您参与有问必答体验反馈。您的建议将会运用到我们的产品优化中,希望能得到您的支持与协助!
速戳参与调研>>>https://t.csdnimg.cn/Kf0y