美文网首页我爱编程
selenium定位元素

selenium定位元素

作者: warmT_ | 来源:发表于2017-11-22 09:24 被阅读0次

    一:By.id定位

    driver.findElement(By.id)
    

    二:By.className定位

    driver.findElement(By.className)
    

    三:By.name定位

    driver.findElement(By.name("eml"))
    

    四:By.tagName定位

    driver.findElement(By.tagName("input"))
    

    五:By.linkText定位

    driver.findElement(By.linkText("注册"))
    

    六:By.partialLink定位(部分链接定位)

    driver.findElement(By.partialLink("直接"))
    

    七:By.xPath定位(经常用到)

    driver.findElement(By.xPath(".//*[@id='kw']"))
    

    八:By.css定位

    driver.findElement(By.id)
    

    九:table定位方式


    image.png

    十:从一组中定义一个

    WebElement ele=driver.findElement(By.className(item));
    List <WebElement> eles=ele.findElements(By.tagName("li"))
    eles.get(3).click()
    

    十一:radio定位元素

    List<WebElement> eles = driver.findElements(By.xpath(".//*[@id='profile']/div[4]/div/label//input"));
            System.out.println(eles.size());
            for(WebElement radio:eles){
                boolean flag=radio.isSelected();
                if(flag==false){
                    radio.click();
                    break;
                }
    
    

    十二:通过style定位元素

    String jsString = "document.getElementsByClassName('link')[0].style.bottom=0";
    //把driver转化为JS
    JavascriptExecutor js=(JavascriptExecutor) driver;
    js.executeScript(jsStringß)
    

    十三:下拉框定位

    //select 对象
    WebElement seles=driver findElement(By.id("box"));
    Select list =new Select(seles);
    //选择对应的元素
    list.selectByIndex(2) 通过index
    list.selectByValue(“2”) 通过标签属性 value值
    list.selectByVisibleText(2) 通过可见的文本
    // 不选择对应的元素(多选下拉列表)
    .isMultiple()判断是否为多选下拉列表
    list.deselectByIndex(2)
    list.deselectAll()
    list.deselectByValue()
    list.deselectByVisibleText()
    //对下拉框的操作
    list.getAllSelectedOptions() 只对多选下拉 与“不选择对应的元素”配合使用
    List<WebElement> ls=list.getAllSelectedOptions();
    for(WebElement option:ls){
      System.out.printl(option.getText())// 获取页面选中的元素
    }
    
    list.getFirstSelectedOption().getText()  获取当前选中选择第一个
    
    
    

    十四: 鼠标悬停定位

    WebElement login = driver.findElement(By.className("menuCount));//获取元素父级
    List<WebElement> item=login.findElements(By.className("item"));//获取一组
    Actions actions=new Actions(driver);
    actions.moveToElement(item.get(0)).perform();
    driver.findElement(By.linkText("html")).click();
    

    十五:iframe元素定位(一般为复文本编辑会用iframe嵌套)

    //用switchTo()方法定位到复文本编辑框内
    WebElement iframeElement=driver.findElement(By.id("if"));
    driver.switchTo().frame(iframeElement);//定位到iframe嵌套的页面
    driver.findElement(By.id('body')).sendKeys("test");
    

    相关文章

      网友评论

        本文标题:selenium定位元素

        本文链接:https://www.haomeiwen.com/subject/dnuvvxtx.html