0

UIAUTOMATORVIEWER のスクリーンショット

.mp3ドロップボックス内の対応する.jsonファイルの存在を確認するための Python コードを作成しようとしています。

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 これは完全に問題ありません!!!

.jsonテキストを見つけるには、同様の xpath が必要です。図の の下にあるもの.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) だけです。

これら2つのテキストを取得するにはどうすればよいですか??

テキスト 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]

2 つの要素を返すので、find_elements_by_xpath

于 2016-05-05T06:56:55.560 に答える