Как прочитать значение атрибута элемента canvas с помощью selenium?

#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. Я не знаю, я никогда им не пользовался. Извините.