Selenium WebDrive 八种元素定位方法代码实例

driver2.findElement(By.id())

driver.findElement(By.name())

driver.findElement(By.className())

driver.findElement(By.tagName())

driver.findElement(By.linkText())

driver.findElement(By.partialLinkText())

driver.findElement(By.xpath())

driver.findElement(By.cssSelector())

ID 实例代码:

import org.openqa.selenium.By;

import org.openqa.selenium.WebDriver;

import org.openqa.selenium.chrome.ChromeDriver;

 

public class ByIdTest {

 

public static void main(String[] args) {

// TODO Auto-generated method stub

        

WebDriver driver=init();

        driver.get("http://www.baidu.com");

        //通过ID 定位

        driver.findElement(By.id("kw")).sendKeys("软件测试工程师");

        driver.findElement(By.id("su")).click();

        // 停留 5s

        try {

Thread.sleep(6000);

} catch (InterruptedException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

        // 关闭

        driver.close();

        

}

public static WebDriver init() {

System.setProperty("webdriver.chrome.driver","C:\\Users\\huai.chen\\AppData\\Local\\Google\\Chrome\\Application\\chromedriver.exe");

WebDriver driver=new ChromeDriver();

return driver;

}

 

}

Name 实例代码:

package com.chenhuai.test;

 

import org.openqa.selenium.By;

import org.openqa.selenium.WebDriver;

 

public class ByNameTest {

 

public static void main(String[] args) {

// TODO Auto-generated method stub

WebDriver driver =new InitWebDriver().init();

 

// 通过名字定位元素

driver.findElement(By.name("wd")).sendKeys("软件开发工程师");

driver.findElement(By.id("su")).click();

try {

Thread.sleep(5000);

} catch (InterruptedException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

driver.close();

}

 

}

 

ClassName 实例代码:

package com.chenhuai.test;

 

import org.openqa.selenium.By;

import org.openqa.selenium.WebDriver;

 

public class ByClassName {

 

public static void main(String[] args) {

// TODO Auto-generated method stub

       WebDriver driver=new InitWebDriver().init();

       // 通过 样式名称 定位元素

       driver.findElement(By.className("s_ipt")).sendKeys("大数据分析");

       driver.findElement(By.className("s_btn")).click();

       try {

Thread.sleep(3000);

} catch (InterruptedException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

       driver.close();

}

 

}

 

Link 实例代码:

package com.chenhuai.test;

 

import org.openqa.selenium.By;

import org.openqa.selenium.WebDriver;

 

public class ByLinkText {

 

public static void main(String[] args) {

// TODO Auto-generated method stub

     WebDriver driver=new InitWebDriver().init();

     driver.findElement(By.linkText("新闻")).click();

     driver.findElement(By.linkText("地图")).click();

     driver.findElement(By.partialLinkText("hao")).click();

}

 

}

 

CssSelector 实例代码如下:

 

package com.chenhuai.test;

 

import org.openqa.selenium.By;

import org.openqa.selenium.WebDriver;

 

public class CssSelectorTest {

 

public static void main(String[] args) {

// TODO Auto-generated method stub

WebDriver driver=new InitWebDriver().init();

// 通过css 中间的class 进行定位 .表示通过class 属性来定位元素

//driver.findElement(By.cssSelector(".s_ipt")).sendKeys("长城");

//driver.findElement(By.cssSelector(".s_btn")).click();

// 通过css 中间的class 进行定位,# 表示id 属性定位元素

driver.findElement(By.cssSelector("#kw")).sendKeys("深圳");

driver.findElement(By.cssSelector("#su")).click();

 

}

 

}

 

Xpath 绝对路径实例代码:

package com.chenhuai.test;

 

import org.openqa.selenium.By;

import org.openqa.selenium.WebDriver;

 

public class XpathTest {

 

public static void main(String[] args) {

// TODO Auto-generated method stub

WebDriver driver=new InitWebDriver().init();

// 通过 xpath 定位元素位置

driver.findElement(By.xpath("/html/body/div/div/div/div/div/form/span/input")).sendKeys("xpath");

driver.findElement(By.xpath("/html/body/div/div/div/div/div/form/span[2]/input")).click();

 

}

 

}

 

元素属性定位实例代码如下:

package com.chenhuai.test;

 

import org.openqa.selenium.By;

import org.openqa.selenium.WebDriver;

 

public class XpathTest02 {

 

public static void main(String[] args) {

// TODO Auto-generated method stub

WebDriver driver=new InitWebDriver().init();

//driver.findElement(By.xpath("//input[@name='wd']")).sendKeys("微信");

//driver.findElement(By.xpath("//input[@id='su']")).click();

/*

 * driver.findElement(By.xpath("//input[@class='s_ipt']")).sendKeys("腾讯云");

 * driver.findElement(By.xpath("//input[@class='bg s_btn']")).click();

 */

//driver.findElement(By.xpath("//input[@maxlength='255']")).sendKeys("华为云");

//driver.findElement(By.xpath("//input[@value='百度一下']")).click();

//driver.findElement(By.xpath("//input[@type='submit']")).click();

driver.findElement(By.xpath("//input[@id='kw' and @class='s_ipt']")).sendKeys("爱奇艺");

driver.findElement(By.xpath("//input[@type='submit' and @value='百度一下']")).click();

}

 

}

 

 

 

了解更多详情:

https://edu.csdn.net/course/detail/22948

https://edu.csdn.net/lecturer/3215

https://edu.csdn.net/course/detail/30898

https://edu.csdn.net/course/detail/25768

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
回答: Selenium常见的八大元素定位方式包括:ID定位、Name定位、Class Name定位、Tag Name定位、Link Text定位、Partial Link Text定位XPath定位和CSS Selector定位。其中,ID定位通过元素的唯一ID来定位元素;Name定位通过元素的name属性来定位元素;Class Name定位通过元素的class属性来定位元素;Tag Name定位通过元素的标签名来定位元素;Link Text定位通过元素的链接文本来定位元素;Partial Link Text定位通过元素的部分链接文本来定位元素XPath定位通过元素的路径来定位元素;CSS Selector定位通过元素的CSS选择器来定位元素。\[1\]在XPath定位中,可以使用相对定位和层级定位。相对定位是以整个HTML页面为参照物,通过元素的属性来定位元素,可以使用属性名称和属性值进行匹配。层级定位是通过元素之间的层级关系来定位元素,可以使用父子关系和祖孙关系进行匹配。\[3\]在CSS Selector定位中,可以使用元素的标签名、属性名称和属性值进行匹配,还可以使用子元素和后代元素的关系进行匹配。\[2\]以上是对Selenium常见八大元素定位方式的解析。 #### 引用[.reference_title] - *1* *2* [2.Python中selenium八大元素定位](https://blog.csdn.net/m0_65657661/article/details/129560678)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v4^insert_chatgpt"}} ] [.reference_item] - *3* [最全Selenium八大元素定位](https://blog.csdn.net/qq_42708085/article/details/118151786)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v4^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

传说三哥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值