selenium(一):元素定位

selenium是一种进行自动化测试的工具,在python也可以使用来进行自动化测试。

selenium可以肤浅的理解为:一个网页,模拟人的各种操作,比如点击按钮,输入信息等等。我们今天就来说说如何定位我们要点击的按钮,或者是要输入信息的信息框

-----------------------------------------------------------------------------------------------------

browser.find_element_by_css_selector()这个经常用到:CSS是一种描述html和xml的语言,我觉得用这种方式定位元素最方便,因为查找元素的CSS位置很方便,只要打开浏览器,在我想要的元素位置点击右键,审查元素,然后在firefox浏览器的上端,Google chrome浏览器的下端,就会出现元素的CSS代码,直接复制这个,就可以使用了<input id="kw" class="s_ipt" type="text" maxlength="100" name="wd" autocomplete="off">---------------------------------------------------------------------------------------------------browser.find_element_by_id()这个就是网页查看源代码,我们在源代码中看到的那个id---------------------------------------------------------------------------------------------------browser.find_element_by_tag_name()browser.find_element_by_tag_name("input")
---------------------------------------------------------------------------------------------------
browser.find_element_by_class_name()browser.find_element_by_class_name("s_ipt")
---------------------------------------------------------------------------------------------------
browser.find_element_by_link_text()
ok = webdriver.Firefox()ok.get("http://www.baidu.com")ok.find_element_by_link_text("贴吧").click()
---------------------------------------------------------------------------------------------------
browser.find_element_by_name()browser.find_element_by_name("wd")
---------------------------------------------------------------------------------------------------
browser.find_element_by_partial_link_text()
ok = webdriver.Firefox()ok.get("http://www.baidu.com")ok.find_element_by_partial_link_text("贴").click()
---------------------------------------------------------------------------------------------------
browser.find_element_by_xpath()
ok = webdriver.Firefox()ok.get("http://www.baidu.com")ok.find_element_by_xpath("//input[@class=‘s_ipt‘]").send_keys(u"你好")ok.find_element_by_xpath("//input[@type=‘submit‘]").click()
---------------------------------------------------------------------------------------------------

如果要寻找一类元素,我们就用到find_elements方法,这个方法会返回一个可叠代的list.

由于加载需要时间,所以当我们发送一个请求,然后需要在新出现的页面上处理元素的时候,就有可能由于没有完成加载而出现问题,这个时候,我们可以设置等待时间,但我觉得这样不好,我们可以用一个无限循环体来处理这个问题,例如:
while True:    try:        browser.find_element_by_css_selector("input.btn").click()    except:        print "input"    else:        break
				
时间: 2025-01-19 21:15:49

selenium(一):元素定位的相关文章

selenium中元素定位的常用方法

一.Selenium中元素定位共有八种 id name className tagName linkText partialLinkText xpath cssSelector 其中前六种都比较简单,通过id一般可以得到一个唯一的定位,其他五种要注意元素是否唯一,如果有多个,返回的是匹配的第一个元素.下面详细讲解一下xpath和cssSelector定位. 二.xpath定位 1.通过绝对路径定位 dr.findElement(By.xpath("/html/body/div[2]/div/di

Selenium Webdriver元素定位的方式

Selenium Webdriver元素定位的方式 主要就是By类的 1.By.name() ## html代码如下: <button id="gbqfba" aria-label="Google Search" name="btnK" class="gbqfba"><span id="gbqfsa">Google Search</span></button>

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 Webdriver元素定位的八种常用方式

在使用selenium webdriver进行元素定位时,通常使用findElement或findElements方法结合By类返回的元素句柄来定位元素.其中By类的常用定位方式共八种,现分别介绍如下. 1. By.name() 假设我们要测试的页面源码如下: <button id="gbqfba" aria-label="Google Search" name="btnK" class="gbqfba"><

3 Python+Selenium的元素定位方法(id、class name、name、tag name)

[环境] Python3.6+selenium3.0.2+IE11+Win7 [定位方法] 1.通过ID定位 方法:find_element_by_id('xx') 2.通过name定位 方法:find_element_by_name('xx') 3.通过class name定位 方法:find_element_by_class_name('xx') 4.通过tag name定位 方法:find_element_by_tag_name('xx') 说明:tag name在html中是标签的名字,

java selenium (五) 元素定位大全

页面元素定位是自动化中最重要的事情, selenium Webdriver 提供了很多种元素定位的方法.  测试人员应该熟练掌握各种定位方法. 使用最简单,最稳定的定位方法. 阅读目录 自动化测试步骤 在自动化测试过程中, 测试程序通常的操作页面元素步骤 1. 找到Web的页面元素,并赋予到一个存储对象中 (WebElement) 2. 对存储页面元素的对象进行操作, 例如:点击链接,在输入框中输入字符等 3. 验证页面上的元素是否符合预期 通过这三个步骤, 我们可以完成一个页面元素的操作, 找

Selenium Webdriver元素定位的八种常用方式(转载)

转自:http://www.cnblogs.com/qingchunjun/p/4208159.html 在使用selenium webdriver进行元素定位时,通常使用findElement或findElements方法结合By类返回的元素句柄来定位元素.其中By类的常用定位方式共八种,现分别介绍如下. 1. By.name() 假设我们要测试的页面源码如下: <button id="gbqfba" aria-label="Google Search" n

selenium对元素定位和操作方法的封装

前面介绍了selenium对元素的定位方法和操作方法,但是因为这些方法用起来重复的次数比较多,所以我们在下面对他们进行一个封装 # -*- coding:UTF-8 -*- from selenium import webdriver import time class common(object): #新建对象就自动创建浏览器并且最大化窗口 def __init__(self): self.driver=webdriver.Chrome() self.driver.maximize_windo

selenium浏览器元素定位

在元素定位中xpath使用的还算比较多,介绍一下常见的firfox和chrome浏览器插件安装 1.firfox firfox比较简单,主要浏览器自带的定位功能也比较强大国内也比较好的支持插件安装 1)安装 我这里已经安装好了所以可以在"我的附加组件"里面查看,如果没有安装的话可以在"可用附加组件"中安装 2)使用 firepath和firefinder都可以定位元素,firepath可以在定位元素的时候生成xpath或者css,finefinder比较偏向验证xp

Selenium常见元素定位方法和操作

一. 定位元素方法 官网地址:http://selenium-python.readthedocs.org/locating-elements.html        这里有各种策略用于定位网页中的元素(locate elements),你可以选择最适合的方案,Selenium提供了一下方法来定义一个页面中的元素: find_element_by_id find_element_by_name find_element_by_xpath find_element_by_link_text fin