御命丹心

萧瑟悲声秋风起,刹忆寒蝉未鸣时

导航

日历框处理

1.由于日期控件输入框是只读属性的如

<input id="txtDate1" class="appinp" type="text" style="width: 100px;" onfocus="WdatePicker({skin:'whyGreen',dateFmt:'yyyy-MM-dd HH:mm'})" name="txtDate" readonly="readonly" value="">

其中readonly的意思就是只读。所以方法1就是调用js把这个只读属性删了,之后在send_keys值进去如例:

js = '$(\'input[id=txtDate1]\').removeAttr(\'readonly\')'
browser.execute_script(js)

browser.find_element_by_id('txtDate1').send_keys('2013-09-11 18:25')
  

2.方法1其实有点取巧的意思在看下方法2

日期控件其实在html里面也是一个iframe。那么我们只需要来定位到这个iframe就OK。

一般情况 下iframe会有id/name这样的元素。 在定位时来按id/name查询即可。(具体例子可能 百度)

这里介绍的是无id/name时如何处理,代码如下

dat = browser.find_element_by_tag_name('iframe')
browser.switch_to_frame(dat)
browser.find_element_by_xpath(".//*[@id='dpTodayInput']").click()
browser.switch_to_default_content()
使用tag_name来找到这个iframe(前提是你的iframe为可用(不是灰色))

之后使用python webdriver的 switch_to_frame()方法来定位到这个iframe上面

使用xpath的方法来找到具体你要点击日期控件上的按钮

由于你现在处于现在iframe里面。所以你需要跳出,方法switch_to_default_content()。

 

posted on 2020-07-10 20:09  正法  阅读(169)  评论(0编辑  收藏  举报