selenium日期控件的处理之拖拽选择

来源:互联网 发布:手机淘宝新品上架链接 编辑:程序博客网 时间:2024/06/06 21:07

很多时候,日期控件可以当做一个input输入框。但是也有时候,单纯的赋值,并不会触发控件之间的关联效果,就一定要通过选择的方式设置控件。

由于也是刚接触selenium,这里就以最近处理的日期控件作为例子吧。

背景是H5页面上有个日期控件,通过滑动选中日期,选择后会触发费用的重新计算。

最开始用的action.clickAndHold事件,但是按照度娘的例子,总是会滚动一下又回到滚动前的样子,后来经过一把辛酸泪发现在鼠标释放前等待了一会,总算成功生效。

代码如下:

WebElement oldYear = driver.findElement(By.xpath("//div[contains(text(),'1999')]"));WebElement newYear = driver.findElement(By.xpath("//div[contains(text(),'1997')]"));   Actions action = new Actions(driver); action.clickAndHold(newYear).moveToElement(oldYear).perform(); Thread.sleep(1000); action.release().perform();
翻过一道坡,又来一个坑。由于是H5页面,我就把浏览器模式设置成了手机模式。神奇的发现上面的那段代码无用了,琢磨了一会恍然大悟手机模式是没有鼠标的click事件。于是换成的TouchAction的filck时间。

代码如下:

WebElement oldYear = driver.findElement(By.xpath("//div[contains(text(),'1999')]"));WebElement newYear = driver.findElement(By.xpath("//div[contains(text(),'1997')]"));TouchActions action = new TouchActions(driver); action.flick(newYear, 0, oldYear.getLocation().y-newYear.getLocation().y,200).perform();

1 0
原创粉丝点击