Как заменить ссылку на странице не используя JavaScript

Есть вопрос от начинающего - как заменить текст ссылку во фрейме не используя JavaScript? Есть сайт - https://www.w3schools.com/tags/tryit.asp?filename=tryhtml_iframe. В левом фрейме надо заменить ссылку.

System.setProperty("webdriver.chrome.driver", "C:\\TestTaskResources\\drivers\\chromedriver.exe");
ChromeDriver driver = new ChromeDriver();

driver.get("https://www.w3schools.com/tags/tryit.asp?filename=tryhtml_iframe");
driver.findElement(By.xpath("//*[contains(@id, 'container')]")).getText().replace("https://www.w3schools.com","https://www.bing.com");

Имеем кусочек кода, который должен его заменять, но ничего не происходит при выполнении. Как заставить код заменить ссылку? Как кликнуть на кнопку RUN на этой странице? Не могу распознать, кто из них имя кнопки для обращения...


Ответы (1 шт):

Автор решения: Alexandr

Метод org.openqa.selenium.WebElement#getText возвращает тип java.lang.String. То есть Вы получаете текст элемента и пытаетесь заменить ссылку внутри полученого текста.

Selenium не предоставляет прямых методов изменять DOM структуру HTML страницы. Если Вы все же хотите это сделать, то это возможно только через JavaScript.

Нажать на кнопку возможно выполнив метод org.openqa.selenium.WebElement#click на необходимом элементе.

WebElement element =
        driver.findElement(
                By.xpath("//button[contains(.,'Run »')]"));
element.click();
→ Ссылка