python+selenium 定位元素

一.安装python
1.配置环境变量c:\python27;C:\Python27\Scripts
2.验证pyton是否可用,在cmd里面输入python没报错就行

二.安装selenium库
4.安装selenium;在cmd里面,输入:pip install selenium

三.对应于webdriver中的定位方法分别是:

  • driver.find_element_by_name()——最常用,简单
  • driver.find_element_by_id()——最常用,简单
  • driver.find_element_by_link_text()——定位文字连接好用
  • driver.find_element_by_xpath()——最灵活,万能
  • driver.find_element_by_css_selector()

四.Friebug

1.打开firefox 浏览器的firebug 插件,点击插件左上角的鼠标箭头,再点击页面上的元素,firebug插件的HTML 标签页将看到页面代码,鼠标移动到元素的标签上点击一下。例如我们点击百度首页的“百度一下”按钮:

从FirePath中可以看到该元素的id,tag,class等属性。

  • Chrome开发者工具(F12)

打开Chrome浏览器,按下键盘的F12,即可以打开开发者工具。从开发者工具中可以得到和FirePath相同的结果:

id 和name 定位

这是简单的高效的方法。

比如定位百度首页文本框的方法,我们可以使用id来定位(该元素提供的id属性,可以唯一定位到它):

定位百度首页右上角的“设置”链接,我们可以使用name来定位(该元素提供的name属性,可以唯一定位到它):

通过linx text定位:

XPath 定位

css 定位

原文地址:https://www.cnblogs.com/txx403341512/p/8127817.html

时间: 2024-10-09 10:26:08

python+selenium 定位元素的相关文章

Web自动化测试 四 ----- python selenium 八大元素定位

python selenium 八大元素定位方法 前提条件:先要引入webdriver模块,创建一个Chrom浏览器对象,以及打开一个网页(以百度为例). 1 from selenium import webdriver 2 3 driver = webdriver.Chrome() 4 5 driver.get('http://www.baidu.com') 一.ID定位 driver.find_element_by_id('kw') 备注: 此方法相当于JS中的getElementById(

【selenium学习笔记一】python + selenium定位页面元素的办法。

1.什么是Selenium,为什么web测试,大家都用它? Selenium设计初衷就是为web项目的验收测试再开发.内核使用的是javaScript语言编写,几乎支持所以能运行javaScript的浏览器,支持windows\linux\macos等各种平台. Selenium 脚本是用多种受支持的编程语言中的一种编写的 —— 目前可用的有 Java.Ruby 和 Python 驱动程序.这些脚本在浏览器之外的一个单独的进程中运行.驱动程序的任务是执行测试脚本,并通过与运行在浏览器中的 bro

python + selenium定位页面元素的办法

1.什么是Selenium,为什么web测试,大家都用它? Selenium设计初衷就是为web项目的验收测试再开发.内核使用的是javaScript语言编写,几乎支持所以能运行javaScript的浏览器,支持windows\linux\macos等各种平台. Selenium 脚本是用多种受支持的编程语言中的一种编写的 -- 目前可用的有 Java.Ruby 和 Python 驱动程序.这些脚本在浏览器之外的一个单独的进程中运行.驱动程序的任务是执行测试脚本,并通过与运行在浏览器中的 bro

Python+Selenium定位不到元素常见原因及解决办法

在做web应用的自动化测试时,定位元素是必不可少的,这个过程经常会碰到定位不到元素的情况(报selenium.common.exceptions.NoSuchElementException),一般可以从以下几个方面着手解决: 1.Frame/Iframe原因定位不到元素: 这个是最常见的原因,首先要理解下frame的实质,frame中实际上是嵌入了另一个页面,而webdriver每次只能在一个页面识别,因此需要先定位到相应的frame,对那个页面里的元素进行定位. 解决方案:如果iframe有

[Python 应用: 爬虫] Selenium 定位元素方法

本文内容摘自:https://selenium-python.readthedocs.io/locating-elements.html 定位元素有很多种方式,你可以选择适合你使用情况的.Selenium 提供如下几种定位元素的方式: find_element_by_id find_element_by_name find_element_by_xpath find_element_by_link_text find_element_by_partial_link_text find_eleme

python+selenium:元素定位

在日常的网页源码中,我们基于元素的id去定位是最万无一失的,id在单个页面中是不会重复的.但是实际工作中,很多前端开发人员并未给每个元素都编写id属性. driver.find_element_by_id() 此时,可以基于class属性来定位元素.常见的基于class定位元素的selenium写法如下: driver.find_element_by_class_name() driver.find_element_by_css_selector() driver.find_element_by

Python+Selenium 定位页面元素

1.跳转到Frame/Iframe ,再定位元素理解:frame的实质,frame中实际上是嵌入了另一个页面,而webdriver每次只能在一个页面识别,因此需要先定位到相应的frame,对那个页面里的元素进行定位 1.1方法一如果iframe有name或id的话,直接使用switch_to_frame("name值")或switch_to_frame("id值").如下:driver=webdriver.Firefox()driver.get(r'http://w

python selenium定位总结(转)

转自:http://www.cnblogs.com/yufeihlf/p/5717291.html 父子定位元素 查找有父亲元素的标签名为span,它的所有标签名叫input的子元素 find_element_by_css_selector("span>input") 标签名[属性='属性值']:指的是该input标签下name属性为wd的元素 find_element_by_css_selector("input[name='wd']") 多个属性组合定位元

selenium 定位元素

findElement()方法:当开始寻找符合指定条件的元素时,它将查询整个DOM,然后返回第一个找到的匹配元素. By id:通过元素ID属性定位元素//driver.findElement(By.id("XXXX")); By name: 通过元素Name属性定位元素//driver,findElement(By.name("XXXX")); By className:通过元素classname属性定位元素//driver.findElement(By.clas