Selenium 求助!!!selenium 定位元素失败,提示元素是模糊的

西湖醋鱼 · 2017年03月17日 · 最后由 西湖醋鱼 回复于 2017年03月17日 · 2747 次阅读

语言用的 python,使用 find_element_by_id() 的方法,元素本身是有 id 的,但却一直提示 selenium.common.exceptions.WebDriverException: Message: Element is obscured;代码如下:
from selenium import webdriver
from time import sleep
dr = webdriver.Edge()
dr.get('https://www.xxx.com/')
sleep(10)
dr.find_element_by_id('topLoginItem').click()
sleep(5)
dr.quit()

共收到 5 条回复 时间 点赞

看一下外层有没有 iframe、frame 框架,有的话,要先选择框架,再进行框架内元素的操作

@xujiakai 看了应该是没有的,我再贴个图

加个 sleep 看看

我猜你这个问题是不是能够定位到元素,只是在点击的时候出现错误。你可以简单调试下,验证一下问题具体是出在什么地方。

# 插入断点调试 或者用python -m pdb 脚本文件
import pdb; pdb.set_trace()
dr.find_element_by_id('topLoginItem').click()

如果验证下来,能够定位元素但是点击有问题,十有八九是 Edge Webdriver 的问题。试用最新的 Edge Webdriver 或者用 Javascript 定位元素。先验证一下,再找解决办法。

@ovpt 好的,谢谢

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册