0

オートメーション (Firefox) を使用して、 https: //www.jabong.com/find/men's-black-jeans で利用可能な複数のファイラーを選択しようとしています。

しかし、最初のオプション (性別) を選択した後、続行できません。

Element クリックがインターセプトされ、Fluent Wait を試してみると、Stale Element Exception が発生しました。

Fluent の待機を削除するか、暗黙の待機を使用すると、Element found 例外が発生することがあります。

さらに混乱を招くのは、コードが待機なしで適切に実行され、複数のオプションを選択できる場合があることですが、それはまれです。

 public void case9() {
     driver.get("https://www.jabong.com/");
      WebElement SearchBox = driver.findElement(By.xpath("//*[@id=\"search\"]"));
      SearchBox.sendKeys("men's black jeans");
      Actions actn = new Actions (driver);
      actn.sendKeys(SearchBox, Keys.ENTER).build().perform();
      driver.manage().timeouts().implicitlyWait(34, TimeUnit.SECONDS);
      driver.findElement(By.xpath("//*[@id=\"allFilterPopupTop\"]")).click();
      driver.manage().timeouts().implicitlyWait(34, TimeUnit.SECONDS);
 driver.findElement(By.xpath("/html/body/section[1]/div/section/section[1]/div/div[2]/div[2]/ul/li[1]/div[3]/div/div[2]/label[1]/div/input")).click();


      driver.findElement(By.xpath("//*[@id=\"Brand\"]")).click();
      WebDriverWait wait1 = new WebDriverWait(driver,61);
      WebElement brand1 = 
      driver.findElement(By.xpath("xpath for element"));
      wait1.until(ExpectedConditions.elementToBeClickable(brand1));
      brand1.click();
      driver.findElement(By.xpath("xpath for element")).click();
      driver.findElement(By.xpath("//[@id=\"Global_Size\"]")).click();
      WebElement Size = 
      driver.findElement(By.xpath("xpath for element")); 
      wait1.until(ExpectedConditions.elementToBeClickable(Size));
      Size.click();
      driver.findElement(By.xpath("//*[@id=\"Fit\"]")).click();
      driver.manage().timeouts().implicitlyWait(61, TimeUnit.SECONDS);
      driver.findElement(By.xpath("xpath for element")).click();
      driver.findElement(By.xpath("//*[@id=\"Fade\"]")).click();
      driver.manage().timeouts().implicitlyWait(61, TimeUnit.SECONDS);    
      [@id=\"applyFIlters\"]")).click();
       }
4

1 に答える 1