如何在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() } }
輸出
廣告