Я пытаюсь написать код Python для проверки наличия .mp3
и соответствующего файла .json
в раскрывающемся списке.
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.
Для двух текстов не указан идентификатор. Единственное, что уникально в обоих случаях, это расширение (.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
могут появиться во время следующего запуска и занять это место.. Они меняются во время выполнения.. Сначала мне нужно знать, какой текст присутствует в этом месте. Как я могу получить его .. ЛЮБАЯ ИДЕЯ ???