美文网首页
2020-11-02

2020-11-02

作者: 小胖5920 | 来源:发表于2020-11-02 10:47 被阅读0次

    一、创建项目
    1、首先使用eclipse创建一个Java项目
    2、导入maven工具包
    主要需要selenium包

               <dependency>
                <groupId>commons-io</groupId>
                <artifactId>commons-io</artifactId>
                <version>2.7</version>
            </dependency>
    
            <dependency>
                <groupId>commons-io</groupId>
                <artifactId>commons-io</artifactId>
                <version>2.7</version>
            </dependency>
            <dependency>
                <groupId>org.apache.commons</groupId>
                <artifactId>commons-compress</artifactId>
                <version>1.20</version>
            </dependency>
            <dependency>
                <groupId>org.apache.commons</groupId>
                <artifactId>commons-collections4</artifactId>
                <version>4.4</version>
            </dependency>
            <dependency>
                <groupId>org.seleniumhq.selenium</groupId>
                <artifactId>selenium-java</artifactId>
                <version>3.141.5</version>
            </dependency>
    

    maven地址:https://mvnrepository.com/
    3、创建对应的方法
    例如,创建连接浏览器方法、获取元素方法

    public static  void conn() throws Exception {
      //打开浏览器的按照地址
            System.setProperty("webdriver.chrome.driver", "/Users/edz/eclipse-workspace/xykweb/bin/chromedriver");
    //打开浏览器
            WebDriver webDriver = new ChromeDriver();
    //输入百度地址
            webDriver.get("http://www.baidu.com");
    //等待1秒
            Thread.sleep(10000);
    //关闭浏览器
            webDriver.quit();
        }
    

    4、常用获取浏览器的定位
    1.xpath定位

    webDriver.findElement(By.xpath("/html/body/div[5]/div[1]/button[2]"))
    webDriver.findElement(By.xpath("//*[@id=\"username\"]"))
    

    2.CSS定位

    webDriver.findElement(By.cssSelector(".class"))
    

    3.id定位

    webDriver.findElement(By.id("id"))
    

    4.name定位

    webDriver.findElement(By.name("name"))
    

    5.class定位

    webDriver.findElement(By.className("classname"))
    

    使用以上方法既可以创建一个简单的自动化项目

    二、获取元素失败可能因素
    1、元素属性为隐藏
    处理方法使用js脚本处理隐藏元素

    //调用js
    JavascriptExecutor removeAttribute = (JavascriptExecutor) webDriver;
    //告诉js需要清除那个元素
    removeAttribute.executeScript("var setDate
    =document.getElementById(\"birthday\").removeAttribute('readonly');");
    //清除隐藏元素属性
    webDriver.findElement(By.id("birthday")).clear();
    

    2、元素在iframe标签
    将webDriver切换到iframe标签

    //找到需要切换frame页面信息
    WebElement frame = webDriver.findElement(By.xpath("//[@id=\"top_tabs_box\"]/div/div[2]/iframe"));
    //切换到这个页面上
    webDriver.switchTo().frame(frame);
    //切换回frame
    webDriver.switchTo().defaultContent();
    

    3、页面元素还未加载完全
    增加等待时间

    //等待1秒后加载数据
    Thread.sleep(1000)
    

    相关文章

      网友评论

          本文标题:2020-11-02

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