Java 使用SeleniumWebDriver按下按钮

Java 使用SeleniumWebDriver按下按钮,java,selenium,xpath,selenium-webdriver,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(); 同样的问题

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

river.findElement(By.xpath("//*[@id='field_0_9']")).click();
我在这里没有例外,只是这个代码行什么都不做。 我还尝试使用CSS选择器:

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

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

没有看到
元素的实际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();
driver.switchTo().frame(driver.findElement(By.xpath("//*[@id='frame_content']")));
driver.findElement(By.xpath("//input[@name='do_save_data']")).click();

当你录制一个宏并尝试点击按钮时,你会得到什么代码?如果你是这个意思,我没有例外,没有错误。只是代码没有完成我想说的预期工作-试着录制一个宏,然后点击按钮,看看宏生成了什么代码。
driver.switchTo().defaultContent();
driver.switchTo().frame(driver.findElement(By.xpath("//*[@id='frame_content']")));
driver.findElement(By.xpath("//input[@name='do_save_data']")).click();