테스트 중에 웹 페이지를 새로 고치는 더 우아한 방법을 찾고 있습니다 (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 가지 방법
특별한 추가 코딩이 없습니다. 방금 기존 기능을 다른 방식으로 사용하여 작동했습니다. 여기 있습니다 :
-
sendKeys.Keys 메서드 사용
driver.get("https://accounts.google.com/SignUp"); driver.findElement(By.id("firstname-placeholder")).sendKeys(Keys.F5);
-
사용 navigate.refresh을 () 메소드
driver.get("https://accounts.google.com/SignUp"); driver.navigate().refresh();
-
사용 navigate.to을 () 메소드
driver.get("https://accounts.google.com/SignUp"); driver.navigate().to(driver.getCurrentUrl());
-
사용 GET을 () 방법
driver.get("https://accounts.google.com/SignUp"); driver.get(driver.getCurrentUrl());
-
사용 에서 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();