Нет такого исключения элемента, но элемент явно там - PullRequest
0 голосов
/ 14 марта 2019

Я пытаюсь написать код, который автоматизирует приложение android , чтобы делать все, что вы делали бы своими пальцами.

Теперь цель состоит в том, чтобы заставить его выбрать изображение.Я набрал эту строку, чтобы она выбирала элемент через идентификатор ресурса из uiautomatorviewer.

driver.findElement(By.id("com.offerup:id/photo_image_view")).click();

Но когда язапустите мой код, это то, что отображается в моем журнале сервера Appium.

`[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Finding 'com.offerup:id/photo_image_view' using 'ID' with the contextId: '' multiple: false
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Using: UiSelector[INSTANCE=0, RESOURCE_ID=com.offerup:id/photo_image_view]
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Failed to locate element. Clearing Accessibility cache and retrying.
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Finding 'com.offerup:id/photo_image_view' using 'ID' with the contextId: '' multiple: false
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Using: UiSelector[INSTANCE=0, RESOURCE_ID=com.offerup:id/photo_image_view]
[AndroidBootstrap] Received command result from bootstrap
[MJSONWP] Matched JSONWP error code 7 to NoSuchElementError
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Returning result: {"status":7,"value":"No element found"}
[W3C (3ce51f1a)] Encountered internal error running command: NoSuchElementError: An element could not be located on the page using the given search parameters.

`

Я не уверен, в чем проблема, кто-нибудь может мне помочь?

1 Ответ

0 голосов
/ 14 марта 2019

используйте следующий xpath:

driver.findElement(By.xpath("//*[contains(@id,'photo_image_view')]")).click();
...