У меня есть любопытный случай, когда драйвер selenium chrome getText()
method (java) возвращает пустую строку для некоторых элементов, даже если она возвращает непустую строку для других элементы с одинаковыми xpath
. Вот немного страницы.getText() метод selenium chrome driver иногда возвращает пустую строку
<div __gwt_cell="cell-gwt-uid-223" style="outline-style:none;">
<div>Text_1</div>
<div>Text_2</div>
<div>Text_3</div>
<div>Text_4</div>
<div>Text_5</div>
<div>Text_6</div>
</div>
для каждой из внутренних тегов, я могу получить действительные значения возврата для getTagName()
, getLocation()
, isEnabled()
и isDisplayed()
. Однако getText() возвращает пустую строку для некоторых из div.
Кроме того, я замечаю, что если я использую драйвер mac chrome, он будет последовательно «Text_5», для которого getText()
возвращает пустую строку. Если я использую драйвер chrome для Windows, это, как правило, «Text_2», для которого getText()
возвращает пустую строку. Если я использую драйвер firefox, getText()
возвращает ожидаемый текст из всех div.
У кого-нибудь еще было это затруднение?
В моем коде, я использую что-то вроде этого ...
ArrayList<WebElement> list = (ArrayList<WebElement>) driver.findElements(By.xpath(“my xPath here”));
for (WebElement e: list) System.out.println(e.getText());
Как предлагается ниже, вот фактический xPath
я использую. Фрагмент страницы выше касается двух последних разделов.
//*[@class='gwt-DialogBox']//tr[contains(@class,'data-grid-table-row')]//td[contains(@class,'lms-assignment-selection-wizard-cell')]/div/div
Не видел этого раньше, обновляйте вопрос с помощью фактического XPath, который вы используете, иначе это будет довольно сложно отследить. –
Является ли элемент видимым на экране или вне поля зрения? 'getText()' возвращает пустую строку, если элемент находится вне области просмотра. – Faiz