问题:我正在尝试使用htmlunitdriver访问以蓝色突出显示的webelement(logout)。要求是在智能客户端GUI上找到元素并单击它。
方法:访问页面内部元素的方法是首先找到所需的iframe,切换到它,然后访问以蓝色突出显示的webelement(注销)。
解决方案:切换到帧时没有发现错误但是 每当我们尝试访问框架内的任何元素时,都会遇到错误:
“找不到元素”
我的问题是,我们是否采用了正确的方法?如果是,为什么元素可以访问?下面列出了各种解决方案(直到现在):
尝试使用各种定位器(例如index
,id/name
,webelement切换到帧,但没有遇到错误,但即使切换后也找不到页面对象。
尝试使用firefox访问使用“contains”关键字注销xpath的链接数量,并将其大小设置为5
,而使用htmlunit驱动程序无法重现相同的功能。
尝试切换到iframe,未发现错误但无法访问元素
在切换到相框之前尝试driver.switchTo().defaultContent()
。
将selenium和html单元驱动程序更新为最新版本
尝试driver.setJavascriptEnabled(false)
但在禁用javascript时无法继续进行。
尝试访问其他框架,但没有成功
尝试将等待时间延长至5分钟,同时尝试使用webdriver的显式等待实用程序。
尝试了各种定位器以及使用绝对xpath访问元素,但没有找到这样的元素发现异常
在等待页面出现但出现错误
后尝试“刷新”实用程序(TypeError:在对象[object HTMLDocument]中找不到函数addEventListener。
为了尝试,我们还找到了当前的窗口句柄并在切换到框架之前切换到它但尚未成功。
请找到附件的DOM结构