Appiumでは、IDロケータ(resource-id)を使用して要素を識別することができません。Appiumはresource-idを使用して要素を識別できません
添付の画像を参照してください。 enter image description here
Appiumでは、IDロケータ(resource-id)を使用して要素を識別することができません。Appiumはresource-idを使用して要素を識別できません
添付の画像を参照してください。 enter image description here
ご使用のAppiumのバージョンは? Appium InspectorでUI Automator Viewerとの相違点を確認してください。この作品のどれ場合
とにかく...この
#Can't see at your screenshot the whole resource-id so I put what I see.
driver.find_element_by_xpath("//android.view.View[@resource-id='rptRole__ctl0_rptCommunicationlt...']")
#You could also try these two options:
driver.find_element_by_xpath("//android.view.View[@content-desc='1_gr_selected_stores_flex_update.xls']")
driver.find_element_by_xpath("//android.view.View[@text='1_gr_selected_stores_flex_update.xls']")
を試してみてください、あなたはIDでいくつかのような$を持っている場合Appiumはサポートしていませんより多くの情報に
これは機能しません。これは動的なので、私はcontent-descフィールドを使用することはできません。私が使用できる唯一のものはリソースIDです。 Appiumのバージョンは1.4.16.1です。私は自動化には新しく、appiumインスペクタはまだ使用していません。インスペクタを起動している間に何らかのエラーが発生しています。 – Swyam
Appiumのバージョンを更新できますか? – barbudito
Appiumは起動時に更新をチェックし、利用可能な更新プログラムはありませんと言います。私が気づいたことの1つは、resouce-idがこの場合はパッケージ名で始まらないということです。これらのリンクは.pdf/.xlsファイルです。何か手掛かりがある場合。 – Swyam
を提供する必要があります。あなたは完全なIDを投稿できますか?要素を検索し、あなたの要素を見つけるためにインデックスを使用するために使用するクラス名を動作しない場合
driver.findElementById("alertTitle");
: 次のようにfindElementById方法でそれを試してみてください。
List<WebElement> allElements=driver.findElementsByClassName("android.view.View");
上記の一覧のインデックスを使用して要素を取得してください。
WebElement yourElement= allElements.get(Required_Index);
以下のコードが動作します。
driver.findElementsByXPath( "android.view.View(@リソースID、 'rptRole')]")。
あなたは、ハイブリッドアプリであれネイティブアプリであれ、アプリの種類については教えていませんでしたか? – workspace
ネイティブアプリ..... – Swyam
一部の開発者は動的リソースIDをいくつかの要素に設定しますが、リソースIDが変更されているかどうか確認してください。あなたがコードで試してみるたびにidが同じであれば、driver.find_element_by_id( "your_Element_ID")をidで検索する必要があります。appiumはresource-idをidとみなします。 – shiv