闲时在使用selenium的过程中遇到过甚多问题,selenium作为一个界面驱动的自动化工具,开始用之前需慎重考虑。
iframe是个搅屎棍,处处都有它,要好好防备
如下图页面:界面分为两大块,左侧导航部分,右侧列表内容部分
操作是从左侧导航点击,右侧显示内容
现在需要点击右侧列表上方的“新增”按钮
//点击左侧导航
driver.findElement(By.linkText("计划管理")).click();
//切换iframe
driver.switchTo().frame("iframe4");
//点击新增按钮
driver.findElement(By.id("add")).click();
弹框也是个常见的好朋友,点击“新增”,以弹框形式显示新增页面,在代码中它也是个iframe
你们以为再切换下iframe就可以了吗,看见iframe中的src没有,这个弹框也是个页面来的,所以
需要切换句柄,在切换iframe。
//定位窗口
driver.switchTo().window(driver.getWindowHandle());
//搅屎棍子iframe
driver.switchTo().frame("layui-layer-iframe1");
日期控件:很多地方都需要到选择时间
我这个弹框的新增页面,也需要选择时间,时间控件是readonly,看过资料说可以去掉readonly属性然后sendKeys的,我没用这个方法。
直接点击时间控件输入框,再通过xpath获得选择的时间
driver.findElement(By.id("dateArrival")).click();
driver.findElement(By.xpath("//*[@id='laydate_table']/tbody/tr[6]/td[2]")).click();
嗯,暂时就这些啦,iframe,一定要注意切换iframe。这才是重点