WebElement (I) sendKeys () не принимает клавиши (клавиши клавиатуры). Это может быть обработано только с помощью класса Actions.
Кроме того, если вам нужно обновить страницу, используйте WebDriver () refresh () или получите текущий URL-адрес, используя getCurrentUrl () того же интерфейса, и navigate (), используя тот же URL-адрес. в качестве параметра.
Обновление:
Вот подробное объяснение каждого подхода: 1) Согласно 'https://seleniumhq.github.io/selenium/docs/api/java/org/openqa/selenium/WebElement.html#sendKeys-java.lang.CharSequence...-', sendKeys () в WebElement (I) принимает только последовательность символов (т.е. строка.). // Approch 1 driver.findElement (By.xpath ("// html")) возвращает WebElement, и этот элемент sendKeys будет принимать только последовательность символов. Следовательно, ваш подход к обновлению r = с использованием Keys.F5 здесь не сработает.
2) // Approch 2.1 WebElement element1 = driver.findElement (By.xpath ("// * [@ id = \"TSF \"] / дел [2] / дел [1] / дел [2] / дел [2] "));// Approch 2.2 element1.sendKeys (Keys.F1);То же объяснение, что и в подходе 1.
3) // Approch 3 driver.findElement (By.xpath ("// * [@ id = \" gsr \ "]")). SendKeys (Keys.F5);Проделал ту же операцию, что и в подходе 1, и там объясняется.
4) Если нам нужно использовать javascriptexecutor, сначала нам нужно создать объект javascriptexecutor, как показано ниже, и вызвать метод execute_script () с использованием ссылочной переменной этого объекта. :
JavascriptExecutor js = (JavascriptExecutor) driver;
js.executeScript (Script, Arguments);
Если вы не создали этот объект, вы получите 'execute_script (String) isundefined для типа WebDriver ', что ожидается.
Следовательно, 4 подхода, которые вы пробовали, не обновят страницу. Вместо этого вы можете использовать следующие параметры:
1) Класс действий sendKeys (): который будет принимать клавиши клавиатуры. 2) использование driver.navigate (). Refresh ();3) Использование javascriptexecutor после создания объекта для него (как описано в подходе 4)
Попробуйте с этим кодом:
import org.openqa.selenium.JavascriptExecutor;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import io.github.bonigarcia.wdm.WebDriverManager;
public class TestRefresh {
public static void main(String[] args) {
WebDriverManager.chromedriver().setup();
WebDriver driver = new ChromeDriver();
driver.manage().window().maximize();
driver.get("https://www.google.com");
`// case 1:`
`driver.navigate().to(driver.getCurrentUrl());`
`// case 2:`
`((JavascriptExecutor)driver).executeScript("document.location.reload()");`
`// case 3:`
`driver.navigate().refresh();`
}
}