2016-05-17 8 views
2

私はテストにnexus 5を使用しています。どのように私はアンドロイドでappiumを使用してギャラリーから画像を選択することができます。私は次のコードを使用する場合:NoSuchElementException:ギャラリーから画像を選択できません

driver.findElement(By.xpath("//android.widget.ImageView[@content-desc='Photo 
    taken on 13 May 2016 12.50']")).click(); 

を私はそのような例外が発生しました:

Exception in thread "main" 
org.openqa.selenium.NoSuchElementException: An element could not be 
located on the page using the given search parameters. (WARNING:The 
server did not provide any stacktrace information) Command duration 
or timeout: 50.56 seconds 

答えて

0

は、この方法でそれを書くようにしてくださいそれだけで最初に選択されます:

driver.findElement(By.xpath("//android.widget.ImageView[contains(@resource-id,'id of your image')]")).click(); 

をこのコードでは、fの代わりに0から始まる要素をiの代わりに入れたい要素を選択することができます1 IRST:

driver.findElements(By.xpath("//android.widget.ImageView[contains(@resource-id,‌​'id of your image')]")).get(i).click(); 
+1

Emmaは私のために働いてくれてありがとうございますが、唯一の問題は最初の画像を選択していることです –

+0

ようこそ、幸せそうです;)(EmmaはEmma haha​​です) – Emna

+0

任意の要素を選択し、このコードをコンパイルして、代わりにi = 0のときに必要な要素を入れてください。最初の要素は 'driver.findElements(By.xpath(" // android.widget.ImageView [contains(@resource -id、 'あなたのイメージのID')] "))。get(i).click();' – Emna

1

これを試してみてください:

driver.findElement(By.xpath("//*[@class='android.widget.ImageView' and @content-desc='Photo taken on 13 May 2016 12.50']")).click(); 
0

最善の方法は、XPathを作成することで行くことです!

find_element(xpath: "//android.widget.FrameLayout[1]").click 

異なる場合は、クラス名を変更してください。

関連する問題