如何在Selenium WebDriver中點選隱藏元素?


我們可以點選Selenium webdriver中的隱藏元素。在DOM中,隱藏元素是指頁面上未顯示的元素。CSS屬性**style**應將值**display:none**設定為隱藏元素。此外,如果隱藏元素位於表單標籤內,可以透過將屬性**type**設定為**hidden**來將其隱藏。

在處理隱藏元素時,Selenium會丟擲**ElementNotVisibleException**異常。因此,可以使用JavaScript執行器來訪問和處理這些元素。**executeScript**方法用於在Selenium中執行JavaScript命令。要執行的命令作為引數傳遞給該方法。

讓我們來看一個場景,其中最初有兩個按鈕 - **隱藏**和**顯示**以及一個編輯框。單擊“隱藏”按鈕後,下面的編輯按鈕在頁面上隱藏。

單擊“隱藏”後,頁面變為:

讓我們嘗試在隱藏的編輯框中輸入一些文字。首先,我們將使用**getElementById**方法找到隱藏的編輯框,並使用**value**方法向其中輸入一些文字。

語法

executor.executeScript ("document.getElementById('id').value='QA';");

示例

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import java.util.concurrent.TimeUnit;
import org.openqa.selenium.JavascriptExecutor;
public class ElementHiddenClk{
   public static void main(String[] args) {
      System.setProperty("webdriver.chrome.driver",
      "C:\Users\ghs6kor\Desktop\Java\chromedriver.exe");
      WebDriver driver = new ChromeDriver();
      driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);
      driver.get("https://learn.letskodeit.com/p/practice");
      // identify element
      driver.findElement(By.id("hide−textbox")).click();
      // Javascript executor class
      JavascriptExecutor js = (JavascriptExecutor) driver;
      // identify element and set value
      js.executeScript
      ("document.getElementById('displayed−text').value='QA';");
      String str = (String) js.executeScript("return       document.getElementById('displayed−text').value");
      System.out.print("Value entered in hidden element: " +str);
      driver.close()
   }
}

輸出

更新於:2021年2月1日

3K+ 次瀏覽

開啟您的職業生涯

完成課程獲得認證

開始學習
廣告