0

UIAUTOMATORVIEWER 截图

我正在尝试编写一个 python 代码来验证 Dropbox 中是否存在.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.

没有为 2 个文本指定 ID。唯一唯一的就是扩展名(.mp3 和 .json)。

我怎样才能检索这两个文本?

文本 abc2016-05-5,10.38.26.mp3abc2016-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会在下一次运行期间出现并占据那些位置..它在运行时会发生变化..我需要首先知道该位置存在什么文本。我怎样才能找回它..任何想法?

4

1 回答 1

0

您尝试的 xpath 可能有冲突。尝试//android.widget.ImageView/../android.widget.TextView[1]

它将返回两个元素,所以使用find_elements_by_xpath

于 2016-05-05T06:56:55.560 回答