[selenium] 특정 조건 대기시 WebDriver로 웹 페이지 새로 고침

테스트 중에 웹 페이지를 새로 고치는 더 우아한 방법을 찾고 있습니다 (Selenium2 사용). F5 키를 보내지 만 드라이버에 전체 웹 페이지를 새로 고치는 방법이 있는지 궁금합니다. 여기에 내 코드가 있습니다.

    while(driver.findElements(By.xpath("//*[text() = 'READY']")).size() == 0 )
        driver.findElement(By.xpath("//body")).sendKeys(Keys.F5);
        //element appear after text READY is presented
    driver.findElement(By.cssSelector("div.column a")).click();

수동으로 새로 고친 페이지에서 요소를 찾는 데 더 나은 솔루션 일 수 있습니다.



답변

Java 또는 JavaScript에서 :

driver.navigate().refresh();

페이지를 새로 고침해야합니다.


답변

파이썬에는이를 수행하는 방법이 있습니다 : driver.refresh(). Java에서는 동일하지 않을 수 있습니다.

또는 driver.get("http://foo.bar");새로 고침 방법이 잘 작동한다고 생각하지만 을 사용할 수 있습니다.


답변

파이썬에서

내장 방법 사용

driver.refresh()

또는 JavaScript 실행

driver.execute_script("location.reload()")


답변

Selenium Webdriver를 사용하여 웹 페이지를 새로 고치는 5 가지 방법

특별한 추가 코딩이 없습니다. 방금 기존 기능을 다른 방식으로 사용하여 작동했습니다. 여기 있습니다 :

  1. sendKeys.Keys 메서드 사용

    driver.get("https://accounts.google.com/SignUp");
    driver.findElement(By.id("firstname-placeholder")).sendKeys(Keys.F5);
    
  2. 사용 navigate.refresh을 () 메소드

    driver.get("https://accounts.google.com/SignUp");
    driver.navigate().refresh();
    
  3. 사용 navigate.to을 () 메소드

    driver.get("https://accounts.google.com/SignUp");
    driver.navigate().to(driver.getCurrentUrl());
    
  4. 사용 GET을 () 방법

    driver.get("https://accounts.google.com/SignUp");
    driver.get(driver.getCurrentUrl());
    
  5. 사용 에서 SendKeys를 () 메소드

    driver.get("https://accounts.google.com/SignUp");
    driver.findElement(By.id("firstname-placeholder")).sendKeys("\uE035");
    


답변

셀레늄에서 응용 프로그램을 새로 고치는 다양한 접근 방식을 찾았습니다.

1.driver.navigate().refresh();
2.driver.get(driver.getCurrentUrl());
3.driver.navigate().to(driver.getCurrentUrl());
4.driver.findElement(By.id("Contact-us")).sendKeys(Keys.F5);
5.driver.executeScript("history.go(0)");

라이브 코드는 http://www.ufthelp.com/2014/11/Methods-Browser-Refresh-Selenium.html 링크를 참조하십시오 .


답변

다음은 약간 다른 C # 버전입니다.

driver.Navigate().Refresh();


답변

페이지 새로 고침 대체 (F5)

driver.navigate().refresh();

(또는)

Actions actions = new Actions(driver);
actions.keyDown(Keys.CONTROL).sendKeys(Keys.F5).perform();