Selenium Click方法执行的单击略微超出元素边界

问题描述

我有一个在ReactJS中创建的应用程序,其中还包含一些EXTJS / jsp iframe。现在,当我尝试使用硒单击方法单击某些锚标记元素(超链接)时,它不起作用。经过一些调查,我发现单击是在元素边界的上方进行的。硒可以使用xpath识别元素,但无法正确单击链接。还尝试使用该操作,但没有用。不能选择使用offset,因为它过多地依赖于屏幕分辨率。

我们非常感谢您的帮助。

解决方法

也许您可以将页面的宽度和高度设置为更大。如果页面不支持较小的屏幕,则某些元素会重叠。

,

如果定位器位于IFrame内,则需要切换到该IFrame,然后执行点击操作,然后需要从该IFrame中退出:

driver.switchTo()。frame(“ your_iframe_name”); driver.findElement(By.xpath(“ your_locator”))。click();

使用其中一项切换回去后:

driver.switchTo()。parentFrame(); driver.switchTo()。defaultContent();

此外,还有另一种方法可以通过执行js脚本来单击位于IFrame中的元素。

JavascriptExecutor执行程序=(JavascriptExecutor)驱动程序; executor.executeScript(“ arguments [0] .click();”,driver.findElement(By.xpath(“ your_locator”));

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...