java+标签定位_java+selenium——查找定位元素,elements复数定位(driver.findElementsByClassName("mnav");)002...

本文介绍了Java Selenium中用于查找多个元素的各种定位方法,包括find_elements_by_系列方法,如通过class名、ID、标签名等定位。通过复数定位,我们可以获取到一组元素,例如在百度首页上,定位到所有具有'mnav'类的链接。举例说明了如何通过索引选择并点击特定元素,以及使用pop()函数操作定位到的元素集合。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

elements复数定位:

在上面的例举的八中基本定位方式种,都有对应的复数形式,分别是下面这些:

id复数定位find_elements_by_id()

name复数定位find_elements_by_name()

class复数定位find_elements_by_class_name()

tag复数定位find_elements_by_tag_name()

link复数定位find_elements_by_link_text()

partial_link复数定位find_elements_by_partial_link_text()

xpath复数定位find_elements_by_xpath()

css复数定位find_elements_by_css_selector()

这些复数定位方式每次取到的都是具有相同类型属性的一组元素,所以返回的是一个list队列,我们也可以利用这个去定位单个的元素。

==================================================================================================================

比如百度首页种,右上角有新闻、视频、地图、贴吧等一些链接,我们通过f12查看源码可以发现,这些链接都有共同的class, class="mnav"。

举个例子,比如定位排在第六个的学术,可以这样定位:driver.find_elements_by_class_name("mnav")[5].click()

还可以通过css的复数定位写法:driver.find_elements("css selector",".mnav")[6].click()

当然,也可以借助pop()函数,一般pop()或pop(-1)表示获取元素种的最后一个,pop(2)表示第三个:

driver.find_elements("css selector",".mnav").pop().click()

======================================================================================================

packagerjcs;importjava.util.List;importorg.openqa.selenium.firefox.FirefoxDriver;importorg.openqa.selenium.By;importorg.openqa.selenium.WebElement;importorg.testng.annotations.Test;importcom.thoughtworks.selenium.SeleneseTestNgHelper;public classfindby

{public static voidmain(String[] args)

{

System.setProperty("webdriver.firefox.bin","C:\\Program Files (x86)\\Mozilla Firefox\\firefox.exe"); //设置火狐的安装路径,防止系统找不到

FirefoxDriver driver= new FirefoxDriver(); //初始化FireFox浏览器实例,并打开浏览器

try{

driver.manage().window().maximize();//最大化窗口

Thread.sleep(5000);

driver.manage().window().maximize();//最大化窗口

Thread.sleep(5000);

driver.get("https://www.baidu.com"); //打开一个网址,方法一

Thread.sleep(5000);

driver.findElementsByClassName("mnav").get(2).click(); //打开地图这个链接//List myList = driver.findElementsByClassName("mnav");//获取class的这个数组//myList.get(0).click();//打开新闻这个链接

Thread.sleep(5000);

}catch(Exception e)

{

e.printStackTrace();

}finally{

driver.quit();

}

}

}

原文:https://www.cnblogs.com/xiaobaibailongma/p/12214401.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值