您的位置:首页 > 编程语言 > Java开发

【Java+Selenium(6)】---- 元素定位

2018-03-30 15:02 232 查看
    本章节开始我们先看一张百度页面图片



        这其实就是百度的首页,在这张页面上有输入框、按钮和文字链接,当然还有图片,页面的底部还有一行文字。自动化要做的就是模式鼠标和键盘来操作这些元素,或点击,或输入,或右击,甚至是鼠标拖动等操作。
        那么我们要想操作这些元素的前提是需要找到它们。那么如何找到他们呢?自动化工具可不像我们一样可以通过肉眼来分辨页面上的元素,并且知道是它们是做什么用的。那么我们来看看这些元素的真实面目。



        通过前端工具,我们看可以看到页面上的元素都是由一行一行的代码组成。它们之间有层级的组织起 来,每个元素有不同的标签名和属性值。那么在 Selenium 当中就是通过这信息来找到不同的元素的。
    WebDriver 提供了八种元素定位方法:

id
name

classname

tagname

linktext

partiallink

text

xpath

cssselector 
    在 Java 语言中对应的定位方法如下:import org.openqa.selenium.By;
...
findElement(By.id())
findElement(By.name())
findElement(By.className())
findElement(By.tagName())
findElement(By.linkText())
findElement(By.partialLinkText())
findElement(By.xpath())
findElement(By.cssSelector())
        之后的文章我们就逐一的来看这些定位方法的使用。在此之前,我们拷取百度首页的前端代码,以定位页面上的元素为例进行讲解。<html>
<head>
<body>
<script>
<div id="wrapper" style="display: block;">
<div id="debug" style="display:block;position:..">
    <script>
<div id="head" class="s_down"> <div class="head_wrapper">
<div class="s_form">
 <div class="s_form_wrapper">
<div id="lg">
<a id="result_logo" onmousedown="return .." href="/">
<form id="form" class="fm" action="/s" name="f">
 <input type="hidden" value="utf-8" name="ie">
<input type="hidden" value="8" name="f">
<input type="hidden" value="1" name="rsv_bp">
<input type="hidden" value="1" name="rsv_idx">
<input type="hidden" value="" name="ch">
 <input type="hidden" value="02.." name="tn">
<input type="hidden" value="" name="bar">
 <span class="bg s_ipt_wr">
<input id="kw" class="s_ipt" autocomplete="off" maxlength="100" value="" name="wd">
</span>
<span class="bg s_btn_wr">
<input id="su" class="bg s_btn" type="submit" value="百度一下">
</span> ....
</body>
</html>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息