java - 在 selenium webdriver 中,我可以点击保存按钮然后页面被保存但是它没有显示这样的元素错误消息无法继续

标签 java testing selenium-webdriver selenium-grid

检查第五个标签*/

        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/

相关文章:

java - 使用 Selenium ChromeDriver 设置 Chrome 的语言

java - Android Studio 如何在屏幕上打印可变内容(数字)

java - 移动企业应用平台(MEAP)有推荐吗?

c# - 单元测试服务层和 Entity Framework 6

perl - 如何一次在xt中运行测试?

testing - 如何用 Protractor 做系列测试?

java - WebDriver getCurrentUrl() 返回格式错误的 URI

java - RowMapper是抽象的,无法实例化

java.sql.SQLException : Io exception: The Network Adapter could not establish the connection

python - 如何在Python中使用selenium提取 "VIEW MORE"中的文本?