Python中调用selenium出现页面元素定位问题

用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