selenium之定位元素

八种定位元素的方法

定位方法selenium对应方法说明
idfindElement(By.id())元素的id
namefindElement(By.name())元素的名称
class namefindElement(By.className())元素的类名
tag namefindElement(By.tagName())元素的标签,重复率太高,不推荐
link textfindElement(By.linkText())元素链接的文本
partial link textfindElement(By.partialLinkText())元素链接的文本中一部分
xpathfindElement(By.xpath())相对/绝对路径
css selectorfindElement(By.cssSelector())css定位

具体用法

一. 定位input标签的输入框

<html>
  <head>
  <body link="#0000cc">
    <a id="result_logo" href="/" onmousedown="return c({'fm':'tab','tab':'logo'})">
    <form id="form" class="fm" name="f" action="/s">
      <span class="soutu-btn"></span>
        <input id="kw" class="s_ipt" name="wd" value="" maxlength="255" autocomplete="off">
  1. 利用id定位
driver.findElement(By.id("kw"));
  1. 利用name定位
driver.findElement(By.name("wd"));
  1. 利用class name定位
driver.findElement(By.className("s_ipt"));
  1. 利用tag name定位(注意,这种方法不推荐,因为input标签可能有很多个)
driver.findElement(By.tagName("input"));
  1. 利用css定位(css定位写法有多种)
// 根据id来定位,可在前面加#符号
driver.findElement(By.cssSelector("#kw"));

//根据name来定位
driver.findElement(By.cssSelector("[name=wd]"));

//根据class name来定位,可在前面加.符号
driver.findElement(By.cssSelector(".s_ipt"));

//根据绝对路径来定位,可在前面加.符号
driver.findElement(By.cssSelector("html > body > form > span >input"));

//前面几种形式相结合
driver.findElement(By.cssSelector("span.soutu-btn >input#kw"));
driver.findElement(By.cssSelector("form#form > span >input"));

二. 定位文本链接

<a class="mnav" href="http://news.baidu.com" name="tj_trnews">新闻</a>
  1. 利用link text定位
driver.findElement(By.linkText("新闻"))
  1. 利用partial link text定位
driver.findElement(By.partialLinkText("新"))
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值