网页元素查找

作者: 你好_兔先生 | 来源:发表于2019-07-17 17:41 被阅读0次

1.1、查找一个元素

  • find_element_by_id
  • find_element_by_name
  • find_element_by_xpath
  • find_element_by_link_text
  • find_element_by_partial_link_text
  • find_element_by_tag_name
  • find_element_by_class_name
  • find_element_by_css_selector

1.2、查找多个元素

  • find_elements_by_name
  • find_elements_by_xpath
  • find_elements_by_link_text
  • find_elements_by_partial_link_text
  • find_elements_by_tag_name
  • find_elements_by_class_name
  • find_elements_by_css_selector

网页

<html>
 <body>
  <form id="loginForm">
   <input name="username" type="text" />
   <input name="password" type="password" />
   <input name="continue" type="submit" value="Login" />
   <input name="continue" type="button" value="Clear" />
  </form>
</body>
<html>

代码:

login_form = driver.find_element_by_id('loginForm')
username = driver.find_element_by_name('username')
password = driver.find_element_by_name('password')

私有方法:

from selenium.webdriver.common.by import By

driver.find_element(By.XPATH, '//button[text()="Some text"]')
driver.find_elements(By.XPATH, '//button')

1.3、XPATH 高级元素查找

<html>
 <body>
  <form id="loginForm">
   <input name="username" type="text" />
   <input name="password" type="password" />
   <input name="continue" type="submit" value="Login" />
   <input name="continue" type="button" value="Clear" />
  </form>
</body>
<html>
login_form = driver.find_element_by_xpath("/html/body/form[1]")
login_form = driver.find_element_by_xpath("//form[1]")
login_form = driver.find_element_by_xpath("//form[@id='loginForm']")
  1. 绝对路径查找,不推荐。网页一改就容易出错。

  2. HTML中的第一个元素

  3. id='loginForm'

username = driver.find_element_by_xpath("//form[input/@name='username']")
username = driver.find_element_by_xpath("//form[@id='loginForm']/input[1]")
username = driver.find_element_by_xpath("//input[@name='username']")
  • 查找 name='username' 的三种方法
clear_button = driver.find_element_by_xpath("//input[@name='continue'][@type='button']")
clear_button = driver.find_element_by_xpath("//form[@id='loginForm']/input[4]")
  • clear按钮查找方法
了解更多

1.4、超链接文本定位

<html>
 <body>
  <p>Are you sure you want to do this?</p>
  <a href="continue.html">Continue</a>
  <a href="cancel.html">Cancel</a>
</body>
<html>
continue_link = driver.find_element_by_link_text('Continue')
continue_link = driver.find_element_by_partial_link_text('Conti')

1.5、通过标记名字(Tag Name)定位

<html>
 <body>
  <h1>Welcome</h1>
  <p>Site content goes here.</p>
</body>
<html>
heading1 = driver.find_element_by_tag_name('h1')

1.6、通过Class名字定位

<html>
 <body>
  <p class="content">Site content goes here.</p>
</body>
<html>
content = driver.find_element_by_class_name('content')

1.7、通过CCS选择器定位

<html>
 <body>
  <p class="content">Site content goes here.</p>
</body>
<html>
content = driver.find_element_by_css_selector('p.content')

相关文章

  • 网页元素查找

    1.1、查找一个元素 find_element_by_id find_element_by_name find_e...

  • Selenium02-查找元素方式

    一、静态查找 Selenium共有八大查找元素的方式分别是: 不细说 二、动态查找 使用背景:当网页加载特别缓慢时...

  • 第三节 DOM(文档对象模型)

    DOM (文档对象模型),简单来说就是当网页被加载时,浏览器会为整个网页创建一个对象document1、查找元素 ...

  • 2020 算法列表查找

    列表查找 在列表中查找指定元素。 输入为列表和要查找的元素 输出元素下标或未查找到元素 顺序查找 从列表第一个元素...

  • js

    1.元素间关系查找 1)父子关系 parentElement; 查找一个元素的父元素children;查找一个元素...

  • 查找元素

    查找某个元素在数组中位置 indexOf()方法

  • 查找元素

    (1)、根据类名查找标签(返回的是所有拥有该类名的元素) document.getElemen...

  • JavaScript基础 --- DOM操作

    一、查找HTML元素 1、通过 id 查找 HTML 元素在 DOM 中查找 HTML 元素的最简单的方法,是通...

  • 03day

    兄弟元素选择器 语法:查找后边一个兄弟元素兄弟元素 + 兄弟元素{}查找后边所有兄弟元素兄弟元素 ~ 兄弟元素{}...

  • 2018.7.21

    DOM之间的查找 通过元素间的关系查找 (1).父子关系 parentElement 查找一个元素的父元素 用法:...

网友评论

    本文标题:网页元素查找

    本文链接:https://www.haomeiwen.com/subject/ayaqlctx.html