Selenium WebDriver を使用して Element を見つける方法を見つけるために、すでに何時間も費やしています。driver.findElement(By.xpath("")) を使用する必要があると思いますが、その方法がよくわかりません。
「clickon」要素を見つけてクリックする必要があります。問題は、その要素の一部が変更されていることです (スクリーンショットを参照)。ファイルから取得して xpath に入れる必要があります。
助けていただければ幸いです。
Selenium WebDriver を使用して Element を見つける方法を見つけるために、すでに何時間も費やしています。driver.findElement(By.xpath("")) を使用する必要があると思いますが、その方法がよくわかりません。
「clickon」要素を見つけてクリックする必要があります。問題は、その要素の一部が変更されていることです (スクリーンショットを参照)。ファイルから取得して xpath に入れる必要があります。
助けていただければ幸いです。
私たちは最近、自動化された機能テスト ソリューションを徹底的に探しており、Selenium から始めました。他の解決策を探すことにした全体的な理由は、私たちのアプリケーションにも動的 ID があり、それらを識別する明確な XPath メカニズムが他にないためです。Selenium は、追加の知識がなければ、ページ上のこれらの要素を識別できません。これは、ページ上のこれらの要素が何であるかをまだ知らなければ識別できないのと同じです。
DOM の作成を制御している場合は、この要素に一意の ID またはクラスを追加することを検討してください。
最近、testPlant から EggPlant に出会いました。これは、機能テストに対する興味深いアプローチです。基本的に画像ベースです。その他の実行可能なソリューションは、Ranorex または HP の QTP または SmartBear の TestComplete です。
on click
変化しない特定のテキストを含む属性を持つ div をクリックし、変化する部分を無視したいようです。その場合、次のような xpath を使用します。
//div[contains(@onclick, '/challenge/index/rfp_id/')]
onclick
これにより、 を含む値を持つ属性を持つ最初の div が選択されます/challenge/index/rfp_id
。
xpath を使用できます。div クラスが一定の場合、次のようなものを使用できます。
driver.findElement(By.xpath("list-row field-item")).click();
xpath を表示するには、ここにある「xpath チェッカー」と呼ばれる Firefox プラグインをインストールし、dom 要素を右クリックして「Xpath を表示」オプションをクリックし、要素の xpath を取得してから、その xpath をコードで使用できます。
または、同様の問題に適した xpath で正規表現を使用することもできます。正規表現を使用した Xpath は非常に強力です。