如何使用Selenium WebDriver點選隱藏的元素?
我們可以使用Selenium webdriver點選隱藏的元素。隱藏元素是指存在於DOM中但在頁面上不可見的元素。大多數隱藏元素都是透過CSS屬性**style="display:none;"**定義的。如果元素是表單**標籤**的一部分,可以透過將屬性**type**設定為值**hidden**來隱藏它。
Selenium預設情況下無法處理隱藏元素,在處理隱藏元素時會丟擲**ElementNotVisibleException**異常。可以使用Javascript執行器來處理頁面上的隱藏元素。Selenium使用**executeScript**方法執行Javascript命令。要執行的命令作為引數傳遞給該方法。
首先,可以使用**getElementById**方法來識別元素。接下來,要向欄位輸入文字,可以使用**value**方法將值設定為欄位。
語法
executor.executeScript
("document.getElementById('txt').value='Selenium'");讓我們來看一個例子,其中有兩個按鈕**隱藏**和**顯示**。按鈕下面還有一個編輯框。單擊“隱藏”按鈕後,編輯框將從頁面消失。

現在讓我們在隱藏的文字框中輸入一些文字。

示例
程式碼實現。
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 ElementHidden{
public static void main(String[] args) {
System.setProperty("webdriver.chrome.driver", "C:\Users\ghs6kor\Desktop\Java\chromedriver.exe");
WebDriver driver = new ChromeDriver();
driver.get("https://learn.letskodeit.com/p/practice");
driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);
// identify element and click
driver.findElement(By.id("hide-textbox")).click();
// Javascript executor class with executeScript method
JavascriptExecutor j = (JavascriptExecutor) driver;
// identify element and set value
j.executeScript ("document.getElementById('displayed-text').value='Selenium';");
String s = (String) j.executeScript("return document.getElementById('displayed-text').value");
System.out.print("Value entered in hidden field: " +s);
driver.close()
}
}輸出

廣告
資料結構
網路
關係資料庫管理系統(RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP