多测师是一家拥有先进的教学理念,强大的师资团队,业内好评甚多的接口自动化测试培训机构!

17727591462

联系电话

您现在所在位置:接口自动化测试培训 > 新闻资讯

python+selenium之时间与定位-自动化测试

更新时间:2023-01-09 09:09:04 作者:多测师 浏览:31

  方法1、直接定位

  driver.find_element_by_id("train_date").clear()

  driver.find_element_by_id("train_date").send_keys("2016-12-25")

python+selenium之时间与定位-自动化测试

  方法2、移除readonly属性变输入

  基本思路:先用js去掉readonly属性,然后直接输入日期文本内容

  from selenium import webdriver

  from time import sleep

  driver = webdriver.Firefox()

  driver.get('http://www.sucaijiayuan.com/api/demo.php?url=/demo/20141108-1/')

  driver.switch_to.frame('iframe')

  # js = "document.getElementById('txtBeginDate').removeAttribute('readonly')" # 1.原生js,移除属性

  # js = "$('input[id=txtBeginDate]').removeAttr('readonly')" # 2.jQuery,移除属性

  # js = "$('input[id=txtBeginDate]').attr('readonly',false)" # 3.jQuery,设置为false

  js = "$('input[id=txtBeginDate]').attr('readonly','')" # 4.jQuery,设置为空(同3)

  driver.execute_script(js)

  driver.find_element_by_id('txtBeginDate').send_keys('2016-08-24')

  sleep(2)

  print driver.find_element_by_id('txtBeginDate').get_attribute('value')

  driver.quit()

  方法3、也是移除readonly属性变输入

  方法2不行的情况下使用,也可直接使用,当有两个时间文本框时,可以一次性去除多个文本框

  js = "$('.datebox .textbox-text').removeAttr('readonly')"

  driver.execute_script(js)

  driver.find_element_by_xpath('//*[@id="contestRulesForm"]/table/tr[3]/input[1]').send_keys('2016-08-24')

  driver.find_element_by_xpath('//*[@id="contestRulesForm"]/table/tr[4]/input[1]').send_keys('2016-08-25')

  js1 = "$('.datebox').find('input[name=\"contestStartTm\"]').val('"+2016-08-24+"')"

  driver.execute_script(js1)

  #js2 = "$('.datebox').find('input[name=\"contestDeadline\"]').val('"+2016-08-25+"')"

  #driver.execute_script(js2)####js2加不加取决于,js1与js2的两个时间之间的校验规则

  以上内容为大家介绍了自动化测试中的python+selenium之时间与定位,本文由多测师亲自撰写,希望对大家有所帮助。了解更多自动化测试相关知识:https://www.aichudan.com/xwzx/

联系电话

17727591462

返回顶部