0

Я изучаю, как использовать селен с помощью java. У меня проблема. Имея HTML код:NullPointerException при получении текста из определенного элемента

<h2 class="cart-popup-product__title">Laptop Dell XPS 13 2015 13.3inch Touch (Xám) - Hàng nhập khẩu</h2> 

И это мой код, чтобы получить текст:

By productName = By.className("cart-popup-product__title"); 
public String ProductName(){ 
    String pn = driver.findElement(productName).getText(); 
    return pn; 
} 

Eclipse, сообщение об ошибке Дисплей: NullPointerException. Я пытался использовать xpath, cssSelector, но он не работает.

* Обновление: я решил свою проблему. Я просто добавляю this.driver = driver; к конструктору. Я забыл добавить при инициализации конструктора.

Спасибо, что помогли мне улучшить.

+2

Пожалуйста, посмотрите [ask] и [mcve] – xenteros

+3

. Вы должны попытаться выяснить, какая переменная равна нулю. Водитель? – JohnB

+5

Он должен прочитать и приложить стек, чтобы мы не догадывались. – xenteros

ответ

-1

Это может быть другой элемент с тем же именем класса без текста.

Метод FindElement() не генерирует исключение NoSuchElementException - это явный признак того, что элемент был найден.

Можно ли найти элемент в консоли браузера следующим локатором? Также вы можете попробовать найти искомый элемент, а затем вызвать метод getText().

+0

'WebElement' без текста даст пустой' String', а не 'null'. И даже если это был null, OP ничего не делает с ним, поэтому он не вызывает 'NullPointerException'. – Guy

+0

Спасибо за вашу поддержку. Я решил свой пролет. Просто добавьте' this.driver = d река, 'конструктору. –

Смежные вопросы