簡體   English   中英

如何用Selenium Webdriver和Java點擊

[英]How to click with Selenium Webdriver and Java

我正在做自動化任務。

為了完成我的任務,我想在同一個彈出窗口中執行 3 次自動點擊。 最后一個失敗了很多次。 有時它無法點擊或在按鈕外點擊。

我也嘗試過 thread.sleep,但問題仍然存在。

我的代碼:

WebElement boton = driver.findElement(By.xpath(PATH_BOTON));
WebDriverWait wait3 = new WebDriverWait(driver, 2);
wait3.until(ExpectedConditions.elementToBeClickable(boton)).click();

CSS 選擇器或 Javascript 執行器是更好的選擇?

我在按鈕上使用 Selenium 進行測試時遇到的大多數問題都來自按鈕對象在 html 頁面上的開始位置。 span 元素本身有時​​會在按鈕之前開始,因此您最終會單擊空白的 span 空間而不是按鈕,如果是這種情況,您可能想要使用 DRIVER.MoveByOffset(xInt, yInt).Perform() 方法來移動您的指針到位。 至於您的選擇器,最好盡可能使用 By.id("uniqueID"),因為只能提供一個唯一的 id,這樣您就知道這就是您為測試抓取的對象。

要在元素上調用click()三次,您需要為elementToBeClickable()引入WebDriverWait ,您可以使用以下定位器策略

new WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(By.xpath("PATH_BOTON"))).click();
new WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(By.xpath("PATH_BOTON"))).click();
new WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(By.xpath("PATH_BOTON"))).click();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM