2016-05-05 3 views
0

Screenshot of UIAUTOMATORVIEWERОшибка нахождение элемента с помощью uiautomatorviewer, appium и питона

Я пытаюсь написать код питона, чтобы проверить наличие .mp3 и соответствующий .json файл в Dropbox.

dropboxmp3txt = self.driver.find_element_by_xpath('//android.widget.ListView/android.view.View/android.widget.TextView[contains(@index, "1")]') 
print dropboxmp3txt.text 

Это дает мне выход:

abc2016-05-05, 10.38.26.mp3 Что это прекрасно !!!

Мне нужен аналогичный xpath, чтобы найти текст .json. Тот, который находится ниже .mp3, на рисунке.

Я попытался сделать:

dropboxmp3txt = self.driver.find_element_by_xpath('//android.widget.ListView/android.view.View[0]/android.widget.TextView[contains(@index, "1")]') 
print dropboxmp3txt.text 
dropboxjsontxt = self.driver.find_element_by_xpath('//android.widget.ListView/android.view.View[1]/android.widget.TextView[contains(@index, "1")]') 
print dropboxjsontxt.text 

Но это дало мне ошибку:

Traceback (most recent call last): 
    File "dropboxshare.py", line 136, in test_1_view_checkbox 
    dropboxtxt = self.driver.find_element_by_xpath('//android.widget.ListView/android.view.View[0]/android.widget.TextView[contains(@index, "1")]') 
    File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/remote/webdriver.py", line 258, in find_element_by_xpath 
    return self.find_element(by=By.XPATH, value=xpath) 
    File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/remote/webdriver.py", line 712, in find_element 
    {'using': by, 'value': value})['value'] 
    File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/remote/webdriver.py", line 201, in execute 
    self.error_handler.check_response(response) 
    File "/usr/local/lib/python2.7/dist-packages/appium/webdriver/errorhandler.py", line 29, in check_response 
    raise wde 
NoSuchElementException: Message: An element could not be located on the page using the given search parameters. 

Там нет ID указано для 2-х текстов .. Единственное, что является уникальным в обоих есть расширение (.mp3 и .json).

Как я могу получить эти 2 текста?

Тексты abc2016-05-5,10.38.26.mp3 и abc2016-05-5,10.38.26.json Я не могу войти непосредственно .. как: xpath("//android.widget.ListView/android.view.View/android.widget.TextView[@index='1' and @text='abc2016-05-05, 10.38.26.mp3' ]") xpath("//android.widget.ListView/android.view.View/android.widget.TextView[@index='1' and @text='abc2016-05-05, 10.38.26.json' ]")

Так, некоторые другие .mp3 и .json может прийти во время следующего запуска и занимают эти места. . Это изменяется во время выполнения. Мне нужно знать, какой текст присутствует в этом месте. Как я могу его получить .. ЛЮБАЯ ИДЕЯ ???

ответ

0

Пробег, который вы пытаетесь, может быть противоречивым. Попробуйте с //android.widget.ImageView/../android.widget.TextView[1]

Она возвращает два элемента, так что используйте find_elements_by_xpath

+0

Можете ли вы ввести полный код заявление? – Karthik

+0

@ Karthik: Я считаю, что pr4bh4sh предлагает создать и использовать «Список» похожих элементов. – nullpointer

+0

'Список counter = driver.findElements (By.id (" com.android.textview "));' 'for (int index = 0; index Karthik