问题描述
我有一个在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”));