检查第五个标签*/
boolean fifth_a=driver.findElement(By.xpath("//*[@id='RadTabStrip2']/div/ul/li[5]/a/span/span/span")).isDisplayed();
boolean fifth_b=driver.findElement(By.xpath("//*[@id='RadTabStrip2']/div/ul/li[5]/a/span/span/span")).isEnabled();
String Depression5="";
if(fifth_a==true && fifth_b==true)
{
driver.findElement(By.xpath("//*[@id='RadTabStrip2']/div/ul/li[5]/a/span/span/span")).click();
Thread.sleep(3000);
WebElement text5=driver.findElement(By.xpath("//*[@id='RadTabStrip2']/div/ul/li[5]/a/span/span"));
Depression5=text5.getText();
}
else
{
System.out.println("No tabs");
}
if(Depression5.equals("Depression"))
{
driver.switchTo().defaultContent();
driver.switchTo().frame("ctl00_C5POBody_EncounterContainer");
driver.switchTo().frame(driver.findElement(By.xpath("//*[@id='pageViewEncounter']/iframe")));
driver.switchTo().frame(driver.findElement(By.xpath("//*[@id='RadPageView1']/iframe")));
save(driver);
}
else
{
System.out.println("Opened window is not depression");
}
/* End of Fifth tab check */}
public void save(WebDriverdriver)throws InterruptedException,NoSuchElementException
{
driver.findElement(By.xpath("//*[@id='rdbtn Not At All Little interest or pleasure in doing things-Depression-0']")).click();
Thread.sleep(1000);
driver.findElement(By.xpath("//*[@id='DLCLittle interest or pleasure in doing things-Depression-0_txtDLC']")).sendKeys("pleasure in doing things-Depression");
Thread.sleep(1000);
driver.findElement(By.xpath("//*[@id='rdbtn Nearly Every Day Feeling down, depressed, or hopeless-Depression-1']")).click();
Thread.sleep(1000);
driver.findElement(By.id("btnSave")).click();
Thread.sleep(3000);
return;
}
在 selenium web 驱动程序中,我可以单击保存按钮,当驱动程序尝试执行下一行时,它显示错误为没有这样的元素。我尝试了更多的东西,但能够解决这个问题。请检查错误信息。
org.openqa.selenium.NoSuchElementException: no such element
(Session info: chrome=43.0.2357.65)
(Driver info: chromedriver=2.15.322448
(52179c1b310fec1797c81ea9a20326839860b7d3),platform=Windows NT 6.1 SP1 x86) (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 1.06 seconds
For documentation on this error, please visit:
http://seleniumhq.org/exceptions/no_such_element.html
Build info: version: '2.39.0', revision: 'ff23eac', time: '2013-12-16 16:11:15'
System info: host: 'ACURUS154', ip: '172.18.1.111', os.name: 'Windows 7', os.arch: 'x86', os.version: '6.1', java.version: '1.8.0_45'
Driver info: org.openqa.selenium.chrome.ChromeDriver
Capabilities [{applicationCacheEnabled=false, rotatable=false, mobileEmulationEnabled=false, chrome={userDataDir=C:\Users\kannank\AppData\Local\Temp\scoped_dir912_9689}, takesHeapSnapshot=true, databaseEnabled=false, handlesAlerts=true, version=43.0.2357.65, platform=XP, browserConnectionEnabled=false, nativeEvents=true, acceptSslCerts=true, locationContextEnabled=true, webStorageEnabled=true, browserName=chrome, takesScreenshot=true, javascriptEnabled=true, cssSelectorsEnabled=true}]
Session ID: 8c312dccc74442e2a744c7b03d5ccf28
Command duration or timeout: 1.51 seconds
For documentation on this error, please visit:
http://seleniumhq.org/exceptions/no_such_element.html
Build info: version: 'unknown', revision: 'unknown', time: 'unknown'
System info: os.name: 'Windows 7', os.arch: 'x86', os.version: '6.1', java.version: '1.8.0_45'
Driver info: org.openqa.selenium.remote.RemoteWebDriver
Capabilities [{applicationCacheEnabled=false, rotatable=false, mobileEmulationEnabled=false, chrome= {userDataDir=C:\Users\kannank\AppData\Local\Temp\scoped_dir912_9689}, takesHeapSnapshot=true, databaseEnabled=false, handlesAlerts=true, version=43.0.2357.65, platform=XP, browserConnectionEnabled=false, nativeEvents=true, acceptSslCerts=true, webdriver.remote.sessionid=30794df9-bc88-439e-825d-11dff1e33c7b, locationContextEnabled=true, webStorageEnabled=true, browserName=chrome, takesScreenshot=true, javascriptEnabled=true, cssSelectorsEnabled=true}]
Session ID: 30794df9-bc88-439e-825d-11dff1e33c7b
最佳答案
如果在您进行检查时元素未加载或您在 xpath 中有错误,则可能会发生这种情况。此外,您正在玩弄框架,这可能会变得棘手。
如果不调试就很难判断,为此我建议:
1) 将元素保存在一个变量中,并在调用“click()”以识别有问题的元素之前检查它们是否为空。
2) 使用诸如“WaitFor...”之类的命令来添加时间限制而不是 sleep ,如果到那时还没有找到元素,则中断。那会给你提示。
3) 尝试使用允许文本输出的断言来帮助您找出问题。
也许你的框架不对?作为建议,在完成框架后立即返回默认内容,而不是在开始之前。此外,考虑到框架内的元素可能比页面的其余部分或框架本身需要更长的时间来加载。
关于java - 在 selenium webdriver 中,我可以点击保存按钮然后页面被保存但是它没有显示这样的元素错误消息无法继续,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30388982/