0


Selenium定位方法及代码

 天行健,君子以自强不息;地势坤,君子以厚德载物。

每个人都有惰性,但不断学习是好好生活的根本,共勉!


文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。

文章目录


执行程序前请先配置驱动:
关于Java selenium使用前浏览器驱动的下载和环境变量的配置
关于Selenium自动化测试工具的Java实现详情请参考文章:
如何查看页面对应的Selenium定位参数
Java实现 selenium Web自动化测试(简单篇)
Java实现 selenium Web自动化测试(详细篇)


1. 定位方法

想要模拟浏览器操作就需要先定位浏览器的输入框按钮等标签位置
selenium提供了8种定位方式,这8种定位方式在Java selenium中对应八种方法
selenium定位方式Java selenium定位方法idfindElement(By.id())namefindElement(By.name())class namefindElement(By.className())tag namefindElement(By.tagName())link textfindElement(By.linkText())partialink textfindElement(By.partialLinkText())xpathfindElement(By.xpath())css selectorfindElement(By.cssSelector())
接下来就是8种定位方式和定位后的操作

2. Java代码

完整代码
LocateElementTest.java

packagecom.libai.test.selenium.chrome;importorg.openqa.selenium.By;importorg.openqa.selenium.WebDriver;importorg.openqa.selenium.chrome.ChromeDriver;importorg.openqa.selenium.chrome.ChromeOptions;/**
 * @ClassDescription: 元素定位:定位页面中的某个元素标签的位置
 * @JdkVersion: 1.8
 * @Author: 李白
 * @Created: 2024/5/8 10:16
 */publicclassLocateElementTest{publicstaticvoidmain(String[] args){//指定驱动,第一个参数为驱动名称,不同浏览器的参数名称不一样,请根据浏览器查询到对应的浏览器参数名,第二个参数为驱动文件路径,即驱动完整文件路径System.setProperty("webdriver.chrome.driver","D:\\JavaSoftWares\\Google\\driver\\chromedriver-win64\\chromedriver.exe");// 谷歌驱动ChromeOptions cops =newChromeOptions();// 允许所有请求
        cops.addArguments("--remote-allow-origins=*");//创建驱动对象WebDriver webDriver =newChromeDriver(cops);// 启动需要打开的网页
        webDriver.get("https://www.baidu.com");//指定窗口大小--最大化
        webDriver.manage().window().maximize();//定位页面元素的方法=======================================================================//一、input标签元素定位====如我们现在有一个网页,输入框input部分的前端代码如下:/*
        <input type="text" class="s_ipt" name="wd" id="kw" maxlength="100" autocomplete="off">
         *///对input标签进行定位的方法如下//1-通过id定位//        webDriver.findElement(By.id("kw"));//        //2-通过name定位//        webDriver.findElement(By.name("wd"));//        //3-通过class name定位//        webDriver.findElement(By.className("s_ipt"));//        //4-通过tag name定位----因无tag标签,暂未验证//        webDriver.findElement(By.tagName("input"));//        //5-通过xpath定位,该定位方法有很多种写法,常用的几种如下://        webDriver.findElement(By.xpath("//*[@id='kw']"));//        webDriver.findElement(By.xpath("//*[@name='wd']"));//        webDriver.findElement(By.xpath("//input[@class='s_ipt']"));//        webDriver.findElement(By.xpath("//form[@id='form']/span/input"));//        webDriver.findElement(By.xpath("//input[@id='kw' and @name='wd']"));//        //6-通过css定位,同样有很多种方法,如下为几种常用方法://        webDriver.findElement(By.cssSelector("#kw"));//        webDriver.findElement(By.cssSelector("[name=wd]"));//        webDriver.findElement(By.cssSelector(".s_ipt"));//        webDriver.findElement(By.cssSelector("form#form > span > input"));//二、网页的文本链接元素定位=====如百度首页的文本链接代码如下/*
            <a href="http://news.baidu.com" target="_blank" class="mnav c-font-normal c-color-t">新闻</a>
            <a href="https://www.hao123.com?src=from_pc_logon" target="_blank" class="mnav c-font-normal c-color-t">hao123</a>
         *///对文本链接进行定位的方法如下//7-通过link text定位,定位后使用click函数点击跳转到新闻页面//        webDriver.findElement(By.linkText("新闻")).click();//        webDriver.findElement(By.linkText("hao123")).click();//8-通过partialLink text定位//        webDriver.findElement(By.partialLinkText("新闻"));//        webDriver.findElement(By.partialLinkText("hao"));//        webDriver.findElement(By.partialLinkText("hao123"));//注意:以下两种定位方式的测试不能同时执行,执行一个需要将另一个注释掉//通过定位找到input输入框的位置,并使用sendKeys进行文本内容填充到输入框//        webDriver.findElement(By.id("kw")).sendKeys("李白");//通过定位找到新闻文本链接的位置,并使用click进行跳转到新闻页面,暂时无法解决关闭这个新开的新闻网页
        webDriver.findElement(By.linkText("新闻")).click();//等待5秒try{Thread.sleep(5000);}catch(InterruptedException e){thrownewRuntimeException(e);}//关闭资源(关闭浏览器)
        webDriver.close();}}

感谢阅读,祝君暴富!

本文转载自: https://blog.csdn.net/mo_sss/article/details/138589290
版权归原作者 寒山李白 所有, 如有侵权,请联系我们删除。

“Selenium定位方法及代码”的评论:

还没有评论