无法执行右键单击是使用JAVA的selenium webdriver

时间:2014-08-09 14:22:02

标签: selenium selenium-webdriver

问题陈述: -  在我的应用程序中,标签名称有3个框架(比如A,B,C)  我正在切换到第B帧  之后,标签名称再次出现两个框架(比如0,1)  我正在转向iframe 1  之后我必须执行右键单击并选择第三个选项(即“编辑”) 当我签入html标签时,我的右键单击选项菜单已经过了  我的代码如下所示

 Switching to frame (By tag <Frame>)
 .
 .
 Switching to frame (By tag <iFrame>)
 . 
 . 
 //right click first approach
 WebElement web =driver.findElement(By.id("Filter_List_34425462_RowValue_NameSpan"));
 Actions action= new Actions(driver);
 action.contextClick(web).sendKeys(Keys.ARROW_DOWN).sendKeys(Keys.ARROW_DOWN).sendKeys(Keys.ARROW_DOWN).sendKeys(Keys.RETURN).build().perform();

我的上述代码可以单击右键但不选择第3个选项  正如我之前提到的,我的右键单击选项超出了标记  所以我试着切换到B帧  切换到框架(B),但后来我收到错误,如元素无法找到

我尝试切换到活动元素框架: - 它也给了我同样的错误

任何支持都会有所帮助  提前致谢

1 个答案:

答案 0 :(得分:0)

那么如何组合如下:

操作 - 右键单击​​

WebElement elem = driver.findElement(By.id("Filter_List_34425462_RowValue_NameSpan"));
new Actions(driver).contextClick(elem).perform();

driver.manage().timeouts().implicitlyWait(1, TimeUnit.SECONDS);

然后尝试涉及Robot类动作序列:

Robot robot = new Robot();
        robot.keyPress(KeyEvent.VK_DOWN);
        robot.keyRelease(KeyEvent.VK_DOWN);
        robot.keyPress(KeyEvent.VK_DOWN);
        robot.keyRelease(KeyEvent.VK_DOWN);
        robot.keyPress(KeyEvent.VK_ENTER);
        robot.keyRelease(KeyEvent.VK_ENTER);

希望这适合你。