1. 程式人生 > 其它 >selenium對複雜日期控制元件處理

selenium對複雜日期控制元件處理

  日期操作也是自動化測試中必不可少的一環,有些日期控制元件操作簡單直接用send_key便可,而一些複雜的需藉助外力,請看以下示例:

  • 需求1:對去哪兒火車頁面日期操作
  • 特點:手動可以直接輸值

  • 程式碼實現
    #大牛測試:輕輕鬆鬆自動化
    #QQ:2574674466
    #專注自動化測試技術
    #coding=utf-8
    import time
    from selenium import webdriver
    driver = webdriver.Chrome()
    driver.get('https://train.qunar.com/')
    driver.maximize_window()
    driver.find_element_by_name(
    "fromStation").send_keys("上海") driver.find_element_by_name("date").clear() driver.find_element_by_name("date").send_keys("2021-05-03")
  • 需求2:對攜程火車票日期操作
  • 特點:無法直接賦值

    檢視頁面元素,有“readonly"屬性,所以先要把該屬性去掉,再進行賦值:

    故需用js移除屬性

    document.getElementById('dateObj').removeAttribute('readonly')

    完整程式碼如下:

    
    
    #大牛測試:輕輕鬆鬆自動化
    #QQ:2574674466
    #專注自動化測試技術
    # _*_ coding:utf-8 _*_
    from selenium import  webdriver
    
    import  time
    driver = webdriver.Chrome()
    driver.maximize_window()
    driver.get("http://trains.ctrip.com/TrainBooking/SearchTrain.aspx###")
    driver.execute_script(“document.getElementById('dateObj').removeAttribute('readonly')”)
    driver.execute_script(
    "document.getElementById('dateObj').value='2021-11-01'")
  • 視訊、學習筆記聯絡qq:2574674466
  • 更多內容請關注公眾號:“大牛測試”

歡迎加入交流群:Selenium學習群: 628908894