watir не может найти автоматически заполненный элемент div - PullRequest
0 голосов
/ 06 октября 2019

Ниже приведен элемент после ввода текста «Абернатия и сыновья» в текстовое поле для создания автоматически заполненного списка

<div class="col-md-10 col-sm-10"> ==$0
    "Abernathy and Sons "
    <p>
        <i class="fa fa-map-maker"></i>
            " atlanta, GA"
    </p>

Я пробовал с элементом

{browser.div(text: "Abernathy and Sons ")}

Ошибка выдачи:

истекло время ожидания через 30 секунд, ожидая, что # / "Abernathy and Sons" /,: tag_name => "div"}> будет найден (Watir :: Exception :: UnknownObjectException)

1 Ответ

0 голосов
/ 06 октября 2019

Проблема здесь в том, что

b.div(text: "someText") 

сформирует xpath следующим образом в селене

driver.find_element(xpath: "//div[normalize-space(.)='someText']")

Так что метод normalize-space() в xpath будет сравнивать строку после удаления завершающего иведущий космос. Таким образом, если вы добавите пробел после или перед строкой, он выдаст ошибку, не найдя элемент. Так что если я напишу код удара, то у вас будет та же самая ошибка, которую вы получаете.

b.div(text: "someText ") #look at the space after someText.

Так что уберите пробел до и после строки, она будет работать отлично.

...