與網頁元素互動
用於操作表單控件的高階指令集。
只有 5 個基本命令可以在元素上執行
其他驗證
這些方法旨在密切模擬用戶的體驗,因此,與 Actions API 不同,它在嘗試執行指定的動作之前,會嘗試執行兩件事。
- 如果它確定元素在視窗外,它會將元素滾動到視窗中,特別是它會將元素的底部與視窗的底部對齊。
- 它確保元素在執行動作之前是可互動的。 這可能表示滾動不成功,或者元素未以其他方式顯示。 判斷元素是否顯示在頁面上太難以直接在 webdriver 規範中定義,因此 Selenium 會發送一個執行命令,其中包含一個 JavaScript 原子,用於檢查會阻止元素顯示的事物。 如果它確定元素不在視窗中、未顯示、不是鍵盤可互動的,也不是指標可互動的,它會返回一個元素不可互動錯誤。
點擊
元素點擊命令在元素的中心點執行。 如果元素的中心點由於某些原因被遮擋,Selenium 將返回一個元素點擊被攔截錯誤。
driver.get("https://selenium.programming.tw/selenium/web/inputs.html");
// Click on the element
WebElement checkInput=driver.findElement(By.name("checkbox_input"));
checkInput.click(); # Navigate to URL
driver.get("https://selenium.programming.tw/selenium/web/inputs.html")
# Click on the checkbox
check_input = driver.find_element(By.NAME, "checkbox_input")
check_input.click() // Navigate to Url
driver.Navigate().GoToUrl("https://selenium.programming.tw/selenium/web/inputs.html");
// Click on the element
IWebElement checkInput = driver.FindElement(By.Name("checkbox_input"));
checkInput.Click(); driver.find_element(name: 'color_input').click await submitButton.click(); // Navigate to Url
driver.get("https://selenium.programming.tw/selenium/web/inputs.html")
// Click the element
driver.findElement(By.name("color_input")).click();
發送按鍵
元素發送按鍵命令將提供的按鍵輸入到可編輯元素中。 通常,這表示元素是表單的 input 元素,類型為 text,或具有 content-editable 屬性的元素。 如果它不可編輯,則會返回無效的元素狀態錯誤。
這裡是 WebDriver 支援的可能按鍵列表。
// Clear field to empty it from any previous data
WebElement emailInput=driver.findElement(By.name("email_input"));
emailInput.clear();
//Enter Text
String email="admin@localhost.dev";
emailInput.sendKeys(email); # Handle the email input field
email_input = driver.find_element(By.NAME, "email_input")
email_input.clear() # Clear field
email = "admin@localhost.dev"
email_input.send_keys(email) # Enter text //SendKeys
// Clear field to empty it from any previous data
IWebElement emailInput = driver.FindElement(By.Name("email_input"));
emailInput.Clear();
//Enter Text
String email = "admin@localhost.dev";
emailInput.SendKeys(email); driver.find_element(name: 'email_input').send_keys 'admin@localhost.dev' let inputField = await driver.findElement(By.name('no_type'));
// Navigate to Url
driver.get("https://selenium.programming.tw/selenium/web/inputs.html")
//Clear field to empty it from any previous data
driver.findElement(By.name("email_input")).clear()
// Enter text
driver.findElement(By.name("email_input")).sendKeys("admin@localhost.dev")
清除
元素清除命令重置元素的內容。 這要求元素是可編輯的,並且是可重置的。 通常,這表示元素是表單的 input 元素,類型為 text,或具有 content-editable 屬性的元素。 如果不符合這些條件,則會返回無效的元素狀態錯誤。
//Clear Element
// Clear field to empty it from any previous data
emailInput.clear(); email_input.clear() //Clear Element
// Clear field to empty it from any previous data
emailInput.Clear();
data = emailInput.GetAttribute("value"); driver.find_element(name: 'email_input').clear await driver.get('https://selenium.programming.tw/selenium/web/inputs.html');
// Navigate to Url
driver.get("https://selenium.programming.tw/selenium/web/inputs.html")
//Clear field to empty it from any previous data
driver.findElement(By.name("email_input")).clear()
提交
在 Selenium 4 中,這不再使用單獨的端點實現,而是通過執行腳本來實現。 因此,建議不要使用此方法,而是點擊適用的表單提交按鈕。




