これは Chrome でのみ表示されます。
エラーメッセージの全文は次のとおりです。
「org.openqa.selenium.WebDriverException: ポイント (411, 675) では要素をクリックできません。他の要素がクリックを受け取ります: ...」
「クリックを受け取る」要素は、問題の要素の横にあり、その上になく、重なってなく、ページ内を移動していません。
オフセットを追加してみましたが、それでもうまくいきませんでした。アイテムはスクロールしなくても表示されたウィンドウ上にあります。
ベストアンサー1
これは次の 3 つのタイプによって発生します。
1. 要素はクリックできる状態ではありません。
クリックするには、ActionsまたはJavascriptExecutorを使用します。
アクション別:
WebElement element = driver.findElement(By("element_path"));
Actions actions = new Actions(driver);
actions.moveToElement(element).click().perform();
JavascriptExecutor より:
JavascriptExecutor jse = (JavascriptExecutor)driver;
jse.executeScript("scroll(250, 0)"); // if the element is on top.
jse.executeScript("scroll(0, 250)"); // if the element is on bottom.
または
JavascriptExecutor jse = (JavascriptExecutor)driver;
jse.executeScript("arguments[0].scrollIntoView()", Webelement);
次に要素をクリックします。
2. 要素をクリックする前にページが更新されます。
このためには、ページを数秒間待機させます。
3. 要素はクリック可能ですが、その上にスピナー/オーバーレイがあります
以下のコードはオーバーレイが消えるまで待機します
By loadingImage = By.id("loading image ID");
WebDriverWait wait = new WebDriverWait(driver, timeOutInSeconds);
wait.until(ExpectedConditions.invisibilityOfElementLocated(loadingImage));
次に要素をクリックします。