#selenium #selenium-webdriver
#селен #selenium-webdriver
Вопрос:
Я хочу прочитать значение элемента canvas («Ответ: 5015»), но значение атрибута не существует. Не могли бы вы сообщить мне, как прочитать значение атрибута?
URL-адрес приложения: https://the-internet.herokuapp.com/challenging_dom#edit
Комментарии:
1. Вот подсказка canvas.strokeText(‘Ответ: 45396’,90,112) .
2. У нас была та же идея @arundeep chohan. Хороший!
Ответ №1:
Этот код работает с использованием Java и Edge browser:
System.setProperty("webdriver.edge.driver", "msedgedriver.exe");
WebDriver driver = new EdgeDriver();
driver.get("https://the-internet.herokuapp.com/challenging_dom#edit");
String answer = new String();
ArrayList<WebElement>scripts = new ArrayList<WebElement>((ArrayList<WebElement>) driver.findElements(By.tagName("script")));
for(int i = 0; i < scripts.size(); i ) {
String focusText = scripts.get(i).getAttribute("innerHTML");
if(focusText.contains("canvas.strokeText")) {
answer = focusText.substring(focusText.indexOf("Answer"), focusText.indexOf("',"));
break;
}
}
System.out.println(answer);
Комментарии:
1. Я не знаю, я никогда им не пользовался. Извините.