時間控件的獲取的2個方法(sendkey和JS方法獲取時間數據)


時間日期空間
1)控件沒有限制手動輸入,直接調用sendKeys方法寫入時間數據
2)空間有限制輸入,則可以執行JS來改變元素的value屬性數值
javascriptExecutor jsExecutor=(javascriptExecutor)driver;
jsExecutor.executeScript("...");

 

 

舉例12306

截圖如下,日期空間有readonly ,因為不允許手動寫入,用js去除readonly然后寫入時間

 

 

 

 

 

先寫入js驗證是否正確,去除掉readonly屬性

 

 

 

返回頁面看

 

 

 

package WebTest002;
import org.openqa.selenium.By;
import org.openqa.selenium.JavascriptExecutor;
import org.openqa.selenium.chrome.ChromeDriver;
public class ElementLocate {
 private static ChromeDriver chromeDriver;
 public static void main(String []args) {
  openChrome();
  //ID 定位
  //chromeDriver.findElement(By.id("kw")).sendKeys("Selenium");
  //name定位
  
  JavascriptExecutor jsExecutor=chromeDriver;
  jsExecutor.executeScript("document.getElementById(\"train_date\").removeAttribute(\"readonly\")");
  chromeDriver.findElement(By.id("train_date")).clear();
  chromeDriver.findElement(By.id("train_date")).sendKeys("2020-3-29");
  
 }
 
 public static void openChrome() {
 System.setProperty("webdriver.chrome.driver", "src/test/resources/chromedriver.exe");
 //1.打開瀏覽器chrome
  chromeDriver = new ChromeDriver();
 //2.訪問12306
 chromeDriver.get("https://www.12306.cn/index/");
}
}

 單獨代碼實現如下

chromeDriver.get("https://www.12306.cn/index/");

JavascriptExecutor jsExecutor=chromeDriver;
  jsExecutor.executeScript("document.getElementById(\"train_date\").removeAttribute(\"readonly\")");
  chromeDriver.findElement(By.id("train_date")).clear();
  chromeDriver.findElement(By.id("train_date")).sendKeys("2020-3-29");

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM