0
私は3番目のドロップダウンの値が一定で、2番目のドロップダウンの値を変更しなければならないこの変更のうち、私はウェブページ上の店舗の座標を取得します。最初と3番目のドロップダウンを一定に保ち、2番目のドロップダウンの値をforループを使って変更しています。価値は変化していますが、ウェブページ上の座標は変化していませんが。ページ上の座標の値は、最初の選択と同じままです。以下、私はフィールドおよびメソッドにすべてを分離パブリック静的な無効メイン(文字列[]引数)予め{古い要素参照例外 - リフレッシュ後にドロップダウンの値を変更しようとしています
System.setProperty("webdriver.chrome.driver",
"D:\\SELONew\\chromedriver.exe");
WebDriver driver = new ChromeDriver();
driver.manage().window().maximize();
driver.navigate().to("http://www.motherdairy.com/StoreLocator");
// ****************** Selecting State Drop Down
Select stateDropDown = new Select(driver.findElement(By
.xpath(".//*[@id='drpState']")));
stateDropDown.selectByVisibleText("Delhi");
// ******************* Selecting City Drop Down
Select cityDropDown = new Select(driver.findElement(By.id("drpCity")));
int citydrpdwnsize = cityDropDown.getOptions().size();
for (int i = 1; i <= citydrpdwnsize; i++) {
cityDropDown.selectByIndex(i);
Select product = new Select(driver.findElement(By.id("drpBrand")));
product.selectByVisibleText("Mother Dairy");
int s = driver
.findElements(
By.xpath(".//div[@id='storeLocator']//a[text()='Locate Us']"))
.size();
System.out.println(s);
driver.navigate().refresh();
stateDropDown.selectByVisibleText("Delhi");
}
おかげ:)
どのラインを手に入れますか? –
2番目のドロップダウンの選択ごとに店舗の値の値を変更する必要があります。私のコードでは、以下の行を使用して数値ストアをカウントしようとしています。int = driver.findElements(By.xpath( ".// div [@ id = 'storeLocator'] // [text()= 'Locate Us' ]"))。サイズ();ここでドロップダウンの値は変わりますが、店舗の座標は同じです –
これはどのように動作するのですか、ページを更新した後で再度要素を見つける必要があります。 – lauda