测试积点老人 发表于 2020-11-16 11:14:41

selenium+Java定位登陆后跳转的页面元素

登陆后,handle不变,定位登陆成功后跳转的页面元素定位不到,提示:org.openqa.selenium.NoSuchElementException: Unable to locate element
//点击登陆

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

      String currentWindow = driver.getWindowHandle();//获取当前窗口句柄

      //等待页面加载完成

      WebDriverWait wait = new WebDriverWait(driver, 70);

      wait.until(new ExpectedCondition<Boolean>() {

                public Boolean apply(WebDriver d){

                   boolean loadcomplete = d.switchTo().frame("right_frame").findElement(By.xpath("//center/div[@class='welco']/img")).isDisplayed();

                   return loadcomplete;

               }

         });   

      //定位跳转后页面上一个关闭按钮 元素

      driver.findElement(By.xpath("//*[@id='closeX']/div/a")).click();

      System.out.println("关闭宣传窗口");

bling123 发表于 2020-11-16 16:46:06

1、确认定位的元素,是否存在
2、界面加载是否完成,等待的时间长一点

郭小贱 发表于 2020-11-17 09:32:59

有可能这个元素有hidden属性,如果有的话,就先通过DOM方法打这个属性打开,再去定位.

bellas 发表于 2020-11-17 10:21:57

设置下等待时间

qqq911 发表于 2020-11-17 10:37:43

要切换frame

海海豚 发表于 2020-11-17 15:40:31

https://www.cnblogs.com/zengfh/p/12287935.html看下这个
页: [1]
查看完整版本: selenium+Java定位登陆后跳转的页面元素