加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 如何在Selenium中等待页面刷新

发布时间:2020-12-15 04:37:03 所属栏目:Java 来源:网络整理
导读:这是我之前的问题 Unable to understand on getting the value的扩展 这里的情况如下. 根据邮政编码,结果会有所不同. 目前我在文件中有以下内容. 9954660089 我的代码如下. import java.io.BufferedReader;import java.io.File;import java.io.FileNotFoundE
这是我之前的问题 Unable to understand on getting the value的扩展

这里的情况如下.

根据邮政编码,结果会有所不同.

目前我在文件中有以下内容.

99546
60089

我的代码如下.

import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.remote.CapabilityType;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.openqa.selenium.support.ui.ExpectedConditions;
import org.openqa.selenium.support.ui.WebDriverWait;

public class Test1 {
    public static void main(String[] args) throws InterruptedException,FileNotFoundException {
        WebDriver driver;
        System.setProperty("webdriver.gecko.driver","C:UsershomeDownloadsgeckodriver.exe");
        DesiredCapabilities capabilities = new DesiredCapabilities();
        capabilities.setCapability(CapabilityType.ACCEPT_SSL_CERTS,true);
        driver = new FirefoxDriver(capabilities);
        driver.get("https://www2.chubb.com/us-en/find-agent-page.aspx");

        try {
            File file = new File("zip.txt");
            FileReader fileReader = new FileReader(file);
            BufferedReader bufferedReader = new BufferedReader(fileReader);
            StringBuffer stringBuffer = new StringBuffer();
            String line;
            while ((line = bufferedReader.readLine()) != null) {
                driver.findElement(By.xpath(".//*[@id='tbAddress']")).clear();
                driver.findElement(By.xpath(".//*[@id='cphHeroContent_drpDistanceMiles']")).sendKeys("Select Distance");

                driver.findElement(By.xpath(".//*[@id='tbAddress']")).sendKeys(line);
                driver.findElement(By.xpath(".//*[@id='cphHeroContent_drpDistanceMiles']")).sendKeys("2");
                driver.findElement(By.xpath(".//*[@id='cphHeroContent_rdType_0']")).click();

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

                String title = driver.getTitle().toString();
                System.out.println(title);



                WebElement element = (new WebDriverWait(driver,10)).until(
                        ExpectedConditions.visibilityOfElementLocated(By.xpath("html/body/div/div[1]/div[@style='']")));

                String getHeadingTitle = element.getText();

                System.out.println(line + "t" + getHeadingTitle);

            }
            fileReader.close();
            System.out.println("Contents of file:");
            System.out.println(stringBuffer.toString());
        } catch (IOException e) {
            e.printStackTrace();
        }

    }
}

预期结果:

99546   No Results Found
Find Agent Page
60089   1 Agents Found. Please scroll down to see a list of agents.

目前的结果:

99546   No Results Found
Find Agent Page
60089   No Results Found

问题:
我正在使用以下代码.

WebElement element = (new WebDriverWait(driver,10)).until(
                            ExpectedConditions.visibilityOfElementLocated(By.xpath("html/body/div/div[1]/div[@style='']")));

最初,这个块是隐藏的,所以我等到它可见,从第二次开始,相同的块被更新而不是看不见并返回可见.
这是在第一次提交时从上一次提交中检索的值.
请让我知道如何获取更新的值.

谢谢

解决方法

也许,您可以通过声明页面上最初存在的元素在刷新后不在页面上来解决它

> refreshAndWait或clickAndWait on refresh button
> assertElementNotPresent page_specific_element – >检查刷新
真的被执行了
>暂停3000毫秒 – >等待刷新结束
> assertElementPresent page_specific_element – >检查刷新是否

真正执行并且已加载相同的页面

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读