存在很多这样的问题,但没有任何帮助? 在我成功将Selenium的值发送到表之前,我尝试单击“保存”按钮。 我试试这段代码:
river.findElement(By.xpath("//*[@id='field_0_9']")).click();
我这里没有例外,只是这个代码行什么都不做。 我也尝试使用CSS选择器:
driver.findElement(By.cssSelector("input[type='sybmit'][value='Save']")).click();
同样的问题。
答案 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();