00002、WebDriver API 操作大全

  • 访问某网页地址:driver.get(url)  或  driver.navigate().to(url)
  • 访问上一个访问的网页(模拟单击浏览器的后退按钮)driver.navigate().back()
  • 从上次访问的网页前进到下一个网页(模拟单击浏览器的前进功能)driver.navigate().forward()
  • 刷新当前网页 driver.navigate().refresh()
  • 获取页面的Title属性 driver.getTitle();
  • 获取页面源代码 driver.getPageSource()
  • 获取当前页面的URL地址 driver.getCurrentUrl()
  • 在输入框中清除原有的文字内容 driver.clear()
  • 在输入框中输入指定内容 driver.sendKeys("输入的内容")
  • 鼠标单击按钮 driver.click()
  • 检查单选列表的选项文字是否符合期望
    1、操作浏览器窗口明Action对象
    浏览器窗口最大化:driver.manage().window().maximize(); 
    关闭浏览器: driver.quit(); driver.close();
    2、双击某个元素
    Actions builder =new Actions(driver) //声明Action对象
    builder.doubleClick(driver.findElement(By.id("inputbox"))).build().perform();
    3、操作单选下拉列表
    导入selenium的select引用:from selenium.webdriver.support.select import Select
    创建Select:
    WebElement selector = driver.findElement(By.id("Selector"));
    Select select = new Select(selector);select = Select(driver.find_element_by_xpath(" select的位置")) //获取下拉框的数据 print(""+str(len(order_status)+"个订单状态")) //打印下拉框的长度 for find_orderStatus in order_status.options: //循环获取select的option,并进行点击操作   print(find_orderStatus.text)   find_orderStatus.click() select.select_by_visible_text('已付款') //通过匹配选项文字来进行操作;如例:选中的是已付款 select.select_by_value('-1') //通过匹配下拉列表的value属性值进行操作;如例:值为:-1 select.select_by_index(2) //用顺序定位,默认从0开始;如例:表示选择下拉列表的第三个选项表示通过选项文字来进行选中 Select select = new Select(driver.findElement(By.id("select"))); 使用id属性找到页面上id属性为select的下拉列表元素 select.isMultiple(); 判断下拉列表是否允许多选 true:多选 false:单选 select.deselectAll(); 全部取消选中 select.deselectByValue(“1”); 取消选中某一个选项 select.deselectByVisibleText(“A”); select.getAllSelectedOptions(); select.getFirstSelectedOption(); 获取当前被选中的下拉列表选项 select.getFirstSelectedOption().gettext(); 获取当前被选中的下拉列表选项文本 4、单选项(Radio Button) WebElement radio=driver.findElement(By.id("BookMode")); radio.click();     //选择某个单选项 radio.clear();     //清空某个单选项 radio.isSelected();  //判断某个单选项是否已经被选择 5、多选项(checkbox) WebElement checkbox = driver.findElement(By.id("myCheckbox.")); checkbox.click(); checkbox.clear(); checkbox.isSelected(); checkbox.isEnabled() 6、杀掉Windows的浏览器进程 WindowsUtils.tryToKillByName("firefox.exe"); WindowsUtils.tryToKillByName("chrome.exe"); WindowsUtils.tryToKillByName("iexplore.exe"); 7、将当前浏览器的窗体截屏 driver.get("http://www.baidu.com"); File scrFile=((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE); 调用方法截图保存在file对象中 try {     FileUtils.copyFile(scrFile, new File("C:\\test\\tet.png")); 将file对象转换成为一个保存在C磁盘下test目录中文件名为test.png的图片文件 } catch (Exception e) {     e.printStackTrace(); }
  • 检查页面元素的文本内容是否出现
  • 执行JavaScript脚本
  • 拖拽页面元素
  • 模拟键盘的操作
    1、弹出对话框(Popup dialogs)
    Alert alert = driver.switchTo().alert();
    alert.accept();  //确定
    alert.dismiss();  //取消
    alert.getText(); //获取文本
    2、表单(Form
    Form中的元素的操作和其它的元素操作一样,对元素操作完成后对表单的提交可以:
    WebElement approve = driver.findElement(By.id("approve"));
    approve.click();
    或approve.submit();//只适合于表单的提交
    3、上传文件
    上传文件的元素操作:
    WebElement adFileUpload =driver.findElement(By.id("WAP-upload"));
    String filePath = "C:\test\\uploadfile\\media_ads\\test.jpg";
    adFileUpload.sendKeys(filePath);
    4、Windows和Frames之间的切换 driver.switchTo().defaultContent(); 
    //返回到最顶层的frame/iframe driver.switchTo().frame("leftFrame");    //切换到某个frame: driver.switchTo().window("windowName");  //切换到某个window 5、调用Java Script Web driver对Java Script的调用是通过JavascriptExecutor来实现的,例如: JavascriptExecutor js = (JavascriptExecutor) driver; js.executeScript("JS脚本"); 6、超时设置 WebDriver driver = new FirefoxDriver(); driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);    //识别元素时的超时时间 driver.manage().timeouts().pageLoadTimeout(10, TimeUnit.SECONDS); //页面加载时的超时时间 driver.manage().timeouts().setScriptTimeout(10, TimeUnit.SECONDS);  //异步脚本的超时时间 7、操作页面元素 Click(); 执行单击元素操作 SendKeys(text) 给input元素输入文本 Clear() 清空input元素的值 Submit() 对指定元素所在的from元素进行提交操作
posted @ 2018-03-20 16:41  夏至未至-夜未央  阅读(147)  评论(0编辑  收藏  举报