按下Selenium WebDriver按钮

时间:2014-02-19 21:30:38

标签: java selenium xpath selenium-webdriver

存在很多这样的问题,但没有任何帮助? 在我成功将Selenium的值发送到表之前,我尝试单击“保存”按钮。 我试试这段代码:

river.findElement(By.xpath("//*[@id='field_0_9']")).click();

我这里没有例外,只是这个代码行什么都不做。 我也尝试使用CSS选择器:

driver.findElement(By.cssSelector("input[type='sybmit'][value='Save']")).click();
同样的问题。 enter image description here

2 个答案:

答案 0 :(得分:1)

从屏幕截图中我可以看到<frame>元素,因此我假设此输入位于框架内。您需要在点击之前切换到框架。

如果没有看到<frame>元素的实际HTML,我只能提出以下建议:

driver.switchTo().defaultContent(); // make sure you are out of all frames
driver.switchTo().frame(driver.findElement(By.cssSelector("frame")));

// continue do your stuff
driver.findElement(By.cssSelector("input[type='sybmit'][value='Save']")).click();

如果情况是你已经在框架内,但你需要跳出来。 (由于缺乏背景,我无法确定您面临的情况。)

driver.switchTo().defaultContent();

// continue do your stuff
driver.findElement(By.cssSelector("input[type='sybmit'][value='Save']")).click();

答案 1 :(得分:1)

问题是保存按钮嵌套在一个框架中。试试这个:

driver.switchTo().defaultContent();
driver.switchTo().frame(driver.findElement(By.xpath("//*[@id='frame_content']")));
driver.findElement(By.xpath("//input[@name='do_save_data']")).click();