Heim >Java >javaLernprogramm >Wie klicke ich auf Elemente, die durch Overlays in Selenium verborgen sind?
Anklicken von Elementen, die durch Überlagerungen in Selenium verdeckt sind
In der Selenium-basierten Automatisierung kann das Klicken auf Elemente, die durch Überlagerungen verdeckt sind, eine häufige Herausforderung sein . Die Fehlermeldung „Element MyElement ist am Punkt (x, y) nicht anklickbar... Anderes Element würde den Klick erhalten“ weist auf diese Situation hin.
Behebung des Problems
Um dieses Problem zu lösen, ziehen Sie die folgenden Ansätze in Betracht:
WebElement element = driver.findElement(By.id("id1")); Actions actions = new Actions(driver); actions.moveToElement(element).click().build().perform();
JavascriptExecutor jse1 = (JavascriptExecutor)driver; jse1.executeScript("scroll(250, 0)"); // if the element is on top. jse1.executeScript("scroll(0, 250)"); // if the element is at bottom.
Seitenaktualisierung:
Wenn die Seite aktualisiert wird, bevor das Element anklickbar wird, veranlassen Sie eine Wartezeit:
Thread.sleep(500); // replace 500 with an appropriate timeout in milliseconds
WebDriverWait wait2 = new WebDriverWait(driver, 10); wait2.until(ExpectedConditions.elementToBeClickable(By.id("id1")));
WebDriverWait wait3 = new WebDriverWait(driver, 10); wait3.until(ExpectedConditions.invisibilityOfElementLocated(By.xpath("ele_to_inv")));
WebElement ele = driver.findElement(By.xpath("element_xpath")); JavascriptExecutor executor = (JavascriptExecutor)driver; executor.executeScript("arguments[0].click();", ele);
Das obige ist der detaillierte Inhalt vonWie klicke ich auf Elemente, die durch Overlays in Selenium verborgen sind?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!