python + selenium 练习篇 - 定位元素的方法
1.利用ID定位元素(能直接通过ID来定位的元素比较少)
# coding=utf-8
from selenium import webdriver
driver = webdriver.Chrome()
driver.maximize_window()
url = ("http://www.baidu.com")
driver.get(url)
try:
driver.find_element_by_id("kw")
print('test pass: ID found')
except Exception as e:
print("Exception found",format(e))
driver.quit()
2.利用tag name定位元素(tag name重复的比较多,定位不够精确)
driver.find_element_by_tag_name("form")
3.利用link text定位元素
driver.find_element_by_link_text("新闻")
4.利用partial link text定位元素
driver.find_element_by_pertial_link_text("主页").click()
5.利用class name定位元素
driver.find_element_by_class_name("s_ipt")
6.利用name定位元素(不是所有节点都有这个属性)
driver.find_element_by_name("wd")
7.利用css定位元素
driver.find_element_by_css_selector("#su")
8.利用xpath定位元素
driver.find_element_by_xpath("//*[@id='kw'].send_keys("selenium")
#driver.find_element_by_xpath("//*[@id='kw']/a[text()='新闻']")
#driver.find_element_by_xpath("//*[a[contains(@href,'diannao')] #contains方法
driver.find_element_by_xpath("//div/h3/a[text()='官网']/../a/em[text()='Selenium']").is_displayed() #相对路径
python + selenium 练习篇 - 定位元素的方法的更多相关文章
- Python+Selenium定位元素的方法
Python+Selenium有以下八种定位元素的方法: 1. find_element_by_id() eg: find_element_by_id("kw") 2. find_ ...
- python+selenium基础篇,By定位元素
1.By定位和find_element_by_XXXXXX是一样的,如下图所示,定位元素的方法都是一样的 2.使用By定位代码如下所示 from selenium import webdriver f ...
- Python selenium根据class定位页面元素
在日常的网页源码中,我们基于元素的id去定位是最万无一失的,id在单个页面中是不会重复的.但是实际工作中,很多前端开发人员并未给每个元素都编写id属性.通常一段html代码如下: <div cl ...
- Python+Selenium练习篇之1-摘取网页上全部邮箱
前面已经介绍了Python+Selenium基础篇,通过前面几篇文章的介绍和练习,Selenium+Python的webUI自动化测试算是入门了.接下来,我计划写第二个系列:练习篇,通过一些练习,了解 ...
- Python+Selenium中级篇之8-Python自定义封装一个简单的Log类《转载》
Python+Selenium中级篇之8-Python自定义封装一个简单的Log类: https://blog.csdn.net/u011541946/article/details/70198676
- python去除列表中重复元素的方法
列表中元素位置的索引用的是L.index 本文实例讲述了Python去除列表中重复元素的方法.分享给大家供大家参考.具体如下: 比较容易记忆的是用内置的set 1 2 3 l1 = ['b','c', ...
- 【Selenium01篇】python+selenium实现Web自动化:搭建环境,Selenium原理,定位元素以及浏览器常规操作!
一.前言 最近问我自动化的人确实有点多,个人突发奇想:想从0开始讲解python+selenium实现Web自动化测试,请关注博客持续更新! 二.话不多说,直接开干,开始搭建自动化测试环境 这里以前在 ...
- Python+Selenium练习篇之2-利用ID定位元素
在前面一篇文章,我们介绍了如何摘取页面字段,通过正则进行匹配符合要求的字段.如果感觉有点困难,不能立马理解,没有关系.把字符串摘取放到第一篇,是因为自动化测试脚本,经常要利用字符串操作,字符串切割,查 ...
- Python+Selenium练习篇之8-利用css定位元素
前面介绍了,XPath, id , class , link text, partial link text, tag name, name 七大元素定位方法,本文介绍webdriver支持的最后一个 ...
随机推荐
- Entity Framework Tutorial Basics(12):Model First
Model First development with Entity Framework: In the Model First approach, you create Entities, rel ...
- Entity Framework Tutorial Basics(1):Introduction
以下系列文章为Entity Framework Turial Basics系列 http://www.entityframeworktutorial.net/EntityFramework5/enti ...
- Batch Normalization参考博客
https://blog.csdn.net/whitesilence/article/details/75667002 https://blog.csdn.net/malefactor/article ...
- [转]CMD命令提示符窗口中的快捷键、小技巧和常用命令
转至:https://wenku.baidu.com/view/d5d2b7ca360cba1aa811dac6.html 快捷键: F1:按F1一次,命令提示符向后切换到已经执行过的命令字符.如果 ...
- char 与 unsigned char的区别和取值范围
1.char和unsigned char 都是一个byte,8个bit.char是无符号类型,首位bit是符号位. 2.取值范围不同: (1)unsigned char的取值范围:0~2^8-1(0~ ...
- DotNet经典面试题(转载)
.Net基础常见 什么叫应用程序域?什么是受管制的代码?什么是强类型系统?什么是装箱和拆箱?什么是重载?CTS.CLS.CLR分别作何解释? 答: 1应用程序域可以理解为一种轻量级进程.起到安全的作用 ...
- [SinGuLaRiTy] 动态规划题目复习
[SinGuLaRiTy-1026] Copyright (c) SinGuLaRiTy 2017. All Rights Reserved. [UVA 1025] A Spy in the Metr ...
- python for i in range(n,m)注意...
for i in range(n,m) 区间包含n不含m
- SP18637 LAWRENCE - Lawrence of Arabia
\(\color{#0066ff}{ 题目描述 }\) 给定一个长度为n的序列,至多将序列分成m+1段,每段序列都有权值,权值为序列内两个数两两相乘之和.求序列权值和最小为多少? \(\color{# ...
- Leetcode 283. Move Zeroes 移动数组中的零 (数组,模拟)
题目描述 已知数组nums,写一个函数将nums中的0移动到数组后面,同时保持非零元素的相对位置不变.比如已知nums=[0,1,0,3,12],调用你写的函数后nums应该是[1,3,12,0,0] ...