私は最も安い便を検索するために使用されるウェブサイト上でセレンを使ってウォークスルーを試みています。私はすべての検索プロセスを順調に実行することができましたが、今は飛行選択に悩まされています。私は会社名でフライトを注文することができます。そして今、2つの最初のフライト(出発、到着)をクリックする必要があります。Selenium - 自動ランダム生成DIV/ID/LINKをクリックしてください
添付の画像からわかるように、Webページは2つのテーブルを生成します。それぞれにはいくつかのフライトが掲載されています。私は各テーブルの最初のものをクリックしてはいけません。
問題は、生成されたリストが異なる企業で異なるDIV IDを使用し、IDに乱数(「_X」、Xは乱数)があることです。
各テーブルのDIVをクリックするだけで、すべての欄が作成する必要があります。しかし、すべての列は(両方の表で)同じ名前を使用します。
現在、航空便、料金、時間は常に更新されており、毎回異なるIDを意味するウェブページが毎回異なる結果を表示するため、わずか数時間の間、セレンIDEを使用しています。
これを解決する方法はありますか?
重要:私は、SeleniumでJAVAを使用しています。 PERL、PYTHONまたは他のものなし。
これは今JAVAを使用して階段のようになります。
// This orders the departure flight by company.
selenium.click("id=orden-compania-ida");
selenium.click("id=orden-compania-ida");
// This orders the arrival flights by company.
selenium.click("id=orden-compania-vuelta");
selenium.click("id=orden-compania-vuelta");
// This would click on the first link of first table
selenium.click("css=div.col-3 > label");
selenium.click("id=I_5");
// This would click on the first link of the second table
selenium.click("css=#TV_GDSAMADEUS_7 > div.col-3 > label");
selenium.click("id=V_12");
この時点で、これは動作しますが、フライトの更新後、これはもう動作しません。セレンが常に各テーブルの最初のフライトをクリックするようにする方法はありますか?
ありがとうございます。
問題は、Webdriverではなく、Selenium RCを使用していることです。 「driver.findElements」はサポートされていません... –