Selenium-几种元素定位方式

#识别元素并操作
#一般有如下几种方法,其中id最为常用.这里需要注意识别元素一定要用唯一id

1.find_element_by_id("value")

#! /usr/bin/env python
#coding=utf-8

from selenium import webdriver
import time

url = "http://www.baidu.com"
driver = webdriver.Firefox()
driver.get(url)
time.sleep(5)

driver.find_element_by_id("kw").send_keys("博客园")
#模拟表单的提交按钮操作,新版百度搜索不需要这个了,他会自动搜索,再次看出ui的维护成本很高
#driver.find_element_by_id("kw").submit()

2.find_element_by_name("value")

#driver.find_element_by_name("wd").send_keys("博客园")

3.find_element_by_class_name("value")

#driver.find_element_by_class_name("s_ipt").send_keys("博客园")

4.find_element_by_link_text("value‘)

driver.get(url)
driver.find_element_by_link_text("新闻").click()
time.sleep(5)

#对于超级连接比较长的可以尝试采用下面的方法,类似一种模糊匹配
driver.find_element_by_partial_link_text("首页").click()
time.sleep(5)

5.#xpath神器,理论上来说,没有path定位不到的元素
#这里使用firepath查看
#xpath你理解为树形结构就OK,我们也可以通过类似上下级的关系来一层层定位

#! /usr/bin/env python
#coding=utf-8

from selenium import webdriver
import time

url = "http://www.baidu.com"
driver = webdriver.Firef
driver.get(url)
driver.find_element_by_xpath(".//*[@id=‘kw‘]").send_keys("博客园")
#driver.find_element_by_id("su").submit()
time.sleep(5)

driver.find_element_by_id("kw").clear()
time.sleep(5)
#返回
driver.back()
time.sleep(5)
#! /usr/bin/env python
#coding=utf-8

from selenium import webdriver
import time

url = "http://www.baidu.com"
driver = webdriver.Firef
driver.get(url)
driver.find_element_by_xpath(".//*[@id=‘kw‘]").send_keys("博客园")
#driver.find_element_by_id("su").submit()
time.sleep(5)

driver.find_element_by_id("kw").clear()
time.sleep(5)
#返回
driver.back()
time.sleep(5)

6.利用两个元素属性进行唯一定位 and or,只适用于xpath

driver.find_element_by_xpath(".//*[@id=‘kw‘ and @name=‘wd‘]").send_keys("博客园")
time.sleep(5)

7.#当父类有多个一样的子类的时候,可以通过下标来定位,从1开始
#以搜索设置里的结果显示条数为例

driver.get("http://www.baidu.com/gaoji/preferences.html")
time.sleep(5)
#driver.find_element_by_xpath(".//*[@id=‘nr‘]/option[3]").click()
#除此之外还可以怎么定位?
driver.find_element_by_xpath(".//option[@value=‘50‘]").click()
time.sleep(5)
时间: 2024-08-29 08:19:01

Selenium-几种元素定位方式的相关文章

Selenium系列(一) - 8种元素定位方式的详细解读

安装Selenium和下载Driver 安装selenium pip3 install  selenium -i http://pypi.douban.com/simple --trusted-host pypi.douban.com 下载Driver 打开:http://npm.taobao.org/mirrors/chromedriver/ 找到自己Chrome对应的版本下载即可 访问百度的小Demo #!/usr/bin/env python # -*- coding: utf-8 -*-

selenium+python之元素定位方式介绍

网页自动化测试最基本的要求就是要定位到各个元素,然后才能对该元素进行各种操作(输入,点击,清除,提交等),所以今天来总结下Selenuim+Python最基本的几种定位方式及实例说明, 以百度搜索输入框为例,用谷歌浏览器具体说明各个定位方式的用法. 1.导入selenium包的webdriver方法 输入 from selenium import webdriver 2.从 time 模块中引入sleep函数,使用sleep函数可以让程序休眠 输入 from time import sleep

selenium + Python (2) -- 常用8种元素定位

selenium常用的8种元素定位方式如下(代码可直接运行): # coding:utf-8 # 第一步导入需要的模块 from selenium import webdriver import time # 第二步打开浏览器 driver = webdriver.Firefox() # 第三步打开百度 driver.get("http://www.baidu.com") # 1. 操作浏览器对象-id driver.find_element_by_id("kw")

Selenium2学习-009-WebUI自动化实战实例-007-Selenium 8种元素定位实战实例源代码(百度首页搜索录入框及登录链接)

此 文主要讲述用 Java 编写 Selenium 自动化测试脚本编写过程中,通过 ID.name.xpath.cssSelector.linkText.className.partialLinkText.tagName 的实战实例源代码演示 Selenium 元素定位的 8 种方法,源代码测试通过日期为:2015-01-26 00:18,请知悉.注意:其中通过 tagName 定位元素时,返回的是一个 WebElement 的数组,需要根据实际的测试需求对其进行进一步的处理. 希望能对初学 S

selenium自动化测试——常见的八种元素定位方法

selenium常用的八种元素定位方法 1.通过 id 定位:find_element_by_id() 2.通过 name 定位:find_element_by_name() 3.通过 tag 定位:find_element_by_tag_name() 4.通过 class 定位:find_element_by_class_name() 5.通过 css 定位:find_element_by_css_selector() 6.通过 link 定位:find_element_by_link_tex

python selenium系列(二)元素定位方式

一 前言 元素定位,是操作元素的第一步,也是WebUI自动化的难点和核心. 二 元素定位方法 selenium提供了内置的方法完成对待操作元素的定位,主要分为8类,其中,每类又可细分为定位单个元素和定位多个元素,另外还提供了2个私有方法.详细如下: 定位单个元素 ·         find_element_by_id ·         find_element_by_name ·         find_element_by_xpath ·         find_element_by_

selenium8中元素定位方式

Selenium对网页的控制是基于各种前端元素的,在使用过程中,对于元素的定位是基础,只有准去抓取到对应元素才能进行后续的自动化控制,我在这里将对各种元素定位方式进行总结归纳一下. 这里将统一使用百度首页(www.baidu.com)进行示例,f12可以查看具体前端代码.WebDriver8种基本元素定位方式find_element_by_id() 采用id属性进行定位.例如在百度页面中输入关键字 Selenium 进行搜索.百度部分关键源码如下:<span class="bg s_ipt

selenium基础:元素定位之css_selector和轴定位

selenium提供了非常丰富的元素定位方式,下面一张思维导图是我根据工作经验总结的定位元素方式,还是比较全的 本篇博客重点介绍css_selector定位和轴定位 一 轴定位 轴名称 ancestor:祖先节点,包含父节点和祖父节点 parent:父结点 preceding_sibling:当前节点标签前的所有兄弟节点 following_sibling:当前节点标签后的所有兄弟节点 following:当前节点标签后的所有节点 使用语法 /轴名称::节点名称  注:轴定位最好用单斜杠 例子

【Selenium WebDriver】元素定位函数 FindElement

定位Web页面上的元素,用FindElement函数,它可以根据元素的不同属性来快速定位.具体的属性如下: 例子: HTML页面文件: 1 <html xmlns="http://www.w3.org/1999/xhtml" lang="en-us"> 2 <head> 3 <body> 4 <form name="loginForm"> 5 <label for="username