章节十、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(这种查找元素的方式极少用到,所以不多做介绍)

转载于:https://www.cnblogs.com/luohuasheng/p/10684007.html

Selenium 4 提供了以下几种定位元素的方法: 1. findElement() findElements() 方法:这两个方法都可以用来定位元素,findElement() 方法返回一个 WebElement 对象,findElements() 方法返回一个 WebElement 的列表。 2. By 类:By 类提供了多种定位元素的方法,包括 ID、class name、tag name、name、link text、partial link text、css selector xpath。例如: - 通过 ID 定位元素:driver.findElement(By.id("element_id")) - 通过 class name 定位元素:driver.findElement(By.className("class_name")) - 通过 xpath 定位元素:driver.findElement(By.xpath("xpath_expression")) 3. CSS Selector:使用 CSS Selector 定位元素的方法使用 xpath 定位元素的方法类似。例如: - 通过 CSS Selector 定位元素:driver.findElement(By.cssSelector("css_selector_expression")) 4. LinkText PartialLinkText:这两种方法可以用来定位链接元素LinkText 方法要求链接文本必须完全匹配,而 PartialLinkText 方法则只要求链接文本包含指定的字符串。例如: - 通过 LinkText 定位元素:driver.findElement(By.linkText("link_text")) - 通过 PartialLinkText 定位元素:driver.findElement(By.partialLinkText("partial_link_text")) 5. TagNameTagName 方法可以用来定位指定标签名的元素。例如: - 通过 TagName 定位元素:driver.findElement(By.tagName("tag_name")) 这些方法都可以用于定位元素。选择哪种方法取决于元素的属性文本内容。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值