Есть отличная удаленная работа для php+codeception+jenkins+allure+docker спецов. 100% remote! Присоединиться к проекту

How to click on part text view python Appium

python
appium
Теги: #<Tag:0x00007f7b697898f8> #<Tag:0x00007f7b69789768>

(Ihor Bovkit) #1

Может кто знает как такое можно зделать -
У меня есть TextView c ID = ‘com.roadie.android.app.qa:id/list_item_available_credits_subtitle_textview’
и с текстом " Earn more credits by Inviting Friends or by redeeming a Promo Code."
і там ‘Inviting Friends’ і ‘Promo Code’ ето линки.

если я кликаю по всему ID то Appium клікает по ‘Inviting Friends’

Как мне кликнуть по ‘Promo Code’?


(Stan) #2

Правильно ли я понимаю что сейчас вы кликаете как-то так:
wd.findElement.By(id("com.roadie.android.app.qa:id/list_item_available_credits_subtitle_textview"));
?

В зависимости от того что внутри TextView можно найти вторую ссылку либо используя xpath (By.xpath("//com.roadie.android.app.qa ...), либо добавив дополнительный findElement:
wd.findElement.By(id("com.roadie.android.app.qa:id/list_item_available_credits_subtitle_textview")).findElement(By. ...)

Предсказать какой там локатор не могу, так как вы не привели что находится внутри TextView, так как там явно не только текст :smile:

И, к слову, почему не искать локаторы в inspector?


(Ray Romanov) #3

findElement.By(xpath(’//*[contains(@text,“Promo Code”)]’)).click();


(vmaximv) #4

Ай-яй-яй :wink:


(Ray Romanov) #5

Нашел к чему придраться :smiley:


(Ihor Bovkit) #6

вот xpath - http://snag.gy/CVrsj.jpg


(Ray Romanov) #7

а такой поиск есть - byLinkText($value)?


(Ihor Bovkit) #8

не понял, что ты имеешь в виду?
byLinkText($value)


(Ray Romanov) #9

поиск по ссылке содержащей текст $value


(Ihor Bovkit) #10

LinkText и partialLinkText не работает у меня, есть еще идеи?


(Ray Romanov) #11

Тогда вычисляй координаты и тапай по ним