• 章节十、2-用Linktext和PartialLinkText、ClassName、TagName定位元素


    一、通过内容的方式定位元素

    使用Linktext和PartialLinkText定位元素的前提需要"文本"在“a”标签内,selenium才可以找到链接文本或者部分链接文本的元素。

     Linktext适用于超链接文本

    PartialLinkText适用部分超链接文本

    二、操作演示,使用Linktext定位a标签的超链接文本“新闻”(以百度网站为例)

    package basicweb;
    
    import org.openqa.selenium.By;
    import org.openqa.selenium.WebDriver;
    import org.openqa.selenium.chrome.ChromeDriver;
    
    public class FindByLinkText {
    
        public static void main(String[] args) {
    //        以“雅虎”网站为例
            String url = "https://www.baidu.com/";
            System.setProperty("webdriver.chrome.driver", "D:\WorkSpace_person\Selenium\chromedriver.exe");
            WebDriver driver = new ChromeDriver();
            driver.manage().window().maximize();
            driver.get(url);
            
    //        定位a标签中的文本元素并点击
            driver.findElement(By.linkText("新闻")).click();    
        }
    }

    三、操作演示,使用PartialLinkText定位a标签的部分文本“Sign in”中的“sing”(以雅虎网站为例)

    package basicweb;
    
    import org.openqa.selenium.By;
    import org.openqa.selenium.WebDriver;
    import org.openqa.selenium.chrome.ChromeDriver;
    
    public class FindByLinkText {
    
        public static void main(String[] args) {
    //        以“雅虎”网站为例
            String url = "https://www.yahoo.com/";
            System.setProperty("webdriver.chrome.driver", "D:\WorkSpace_person\Selenium\chromedriver.exe");
            WebDriver driver = new ChromeDriver();
            driver.manage().window().maximize();
            driver.get(url);
            
            driver.findElement(By.partialLinkText("Sign")).click();
        }
    }

    四、通过ClassName(class来自css样式,是页面元素的样式,样式就定义在css里面)查找元素(以百度网站为例)

    package basicweb;
    
    import org.openqa.selenium.By;
    import org.openqa.selenium.WebDriver;
    import org.openqa.selenium.chrome.ChromeDriver;
    
    public class FindClassNameDemo {
    
        public static void main(String[] args) {
            System.setProperty("webdriver.chrome.driver", "D:\WorkSpace_person\Selenium\chromedriver.exe");
            WebDriver driver = new ChromeDriver();
            String url = "https://www.baidu.com";
            driver.get(url);
            driver.manage().window().maximize();
            
    //        使用className查找元素
            driver.findElement(By.className("soutu-btn")).click();
        }
    }

    结果为:

    五、使用TagName进行元素定位,例如图中的:a标签,from标签、div标签、span标签等都属于TagName(这种查找元素的方式极少用到,所以不多做介绍)

  • 相关阅读:
    java接口返回json数据格式
    ajax请求报406问题
    ajax跨域问题
    js、css等引入文件路径正确,却报404的解决办法
    HttpServletResponse,HttpServletRequest详解
    python学习(十六)os使用
    python学习(十五)python读取配置yaml
    python学习(十四)python操作发送邮件(163邮箱)
    python学习(十三)python使用pymsql链接数据库操作
    python学习(十二)python正则表达式
  • 原文地址:https://www.cnblogs.com/luohuasheng/p/10684007.html
Copyright © 2020-2023  润新知