t.me/atinfo_chat Telegram группа по автоматизации тестирования

Проблема при записи локатора


(Hohner) #1

Здравствуйте.

Я не так давно начал осваивать Selenium Webdriver и не очень хорошо определяю локаторы. Для перехода по ссылке я записал следующий локатор: driver.findElement(By.xpath("//a[contains(text(), '" + Войти + "')]")).click(); прверил xpath c помощью firepath - 1 элемент найден. Вроде все в порядке, но не работает (NullPointerException). Перепроверил себя с помощью Selenium IDE, получил локатор linkText("Войти"). И снова не работает. Могу только предположить, что дело в кодировке. Но не уверен. Если я прав, то как решить эту задачу?

 


(Mykhailo Poliarush) #2

значит тогда надо попробовать другие аттрибуты, а не текст.

покажите, плиз, код элемент вы хотите найти


(null) #3

я бы предложил использовать xpath только с латиницей, думаю по id или по дереву можно однозначно найти элемент, не используя кириллицу.


(Mykhailo Poliarush) #4


(devnull) #5

C кодом страницы было бы намного проще. и по поводу CONTAINS старайся его не использовать, с ним бывают нереальные траблы под IE ... 


(Alexander Petrovich) #6

Не знаю, как с другими языками (работаю на питоне), но в питоне надо было бы писать перед кавычками буковку "u" u"our/nasty/xpath/locator"
В противном случае кириллицу не скушает


(devnull) #7

Лично я юзал utf-8 и все перекодировал ... что бы не было проблем


(Hohner) #8

<div>

<div id="header">
<div id="auth" style="z-index:100; position:relative">
<div class="grey left" style="margin-right:25px">
<noindex>
<a href="/jobseeker/login/">&Vcy;&ocy;&jcy;&tcy;&icy;</a>    <-- строка, в которой имеется искомаая линка
</noindex>
</div>
<div class="clear"></div>
<div align="center" style="margin-top:10px"></div>
<div class="clear"></div>
<div class="left" style="margin:25px 0 25px 10px">
<div class="no-print" style="float:right; font-size:1px; padding-top:5px">
</div>
</div>
 
Такого куска достаточно для анализа? Если можно оставлять ссылки на сторонние сайты, то я скажу что за сайт и линка конкретнее. Это просто мои домашние тренировки, а не проект с работы.
За ссылку на вебинар огромное спасибо!

(Mykhailo Poliarush) #9

можно по css искать 

a[href='/jobseeker/login/']

или xpath

//a[@href='/jobseeker/login/']


(Hohner) #10

Большое спасибо. Исключил из обихода криллицу -- все работает.