selenium采用find_element_by方法识别页面元素

  主要是练习获取页面中的各元素,马克

 1 # coding:utf-8
 2 import time
 3 from selenium import webdriver
 4 import unittest
 5 from pythontest.commlib.baselib import *
 6
 7 #引用封装后的日志系统
 8 log = TestLog().getlog()
 9 class BaiBu(unittest.TestCase):
10     u‘‘‘【百度.类】‘‘‘
11     def setUp(self):
12         self.browser = webdriver.Firefox()
13         self.browser.get("http://www.baidu.com")
14         self.browser.implicitly_wait(10)
15         #self.base = Screen(self.browser)
16
17     def tearDown(self):
18         self.browser.quit()
19
20     def test_search(self):
21         u‘‘‘采用id,class,name等属性识别元素‘‘‘
22         #<input id="kw" name="wd" class="s_ipt" value="" maxlength="255" autocomplete="off">
23         #<input id="su" value="百度一下" class="bg s_btn" type="submit">
24         #识别id属性
25         self.browser.find_element_by_id("kw").send_keys("python")
26         self.browser.find_element_by_id("su").submit()
27         print self.browser.title
28         self.assertEqual(self.browser.title,u"百度一下,你就知道")
29         log.info("识别id属性,执行[find_element_by_id]")
30
31         time.sleep(3)
32
33         #识别name属性 <input id="su" value="百度一下" class="bg s_btn" type="submit">
34         self.browser.find_element_by_name("wd").clear()     #清空原关键字
35         self.browser.find_element_by_name("wd").send_keys("python logging")
36         # class属性是比较特殊的一个,属性值可以有多个,中间是用空格隔开的
37         #self.browser.find_element_by_class_name("bg s_btn").submit()  #使用class_name会报错
38         #self.browser.find_element_by_class_name("s_btn").submit()      #第一种解决办法:class值取其中之一
39         #self.browser.find_element_by_class_name("bg").submit()          #第一种解决办法:class值取其中之一
40         self.browser.find_element_by_css_selector(".bg.s_btn").submit()          #第二种解决办法:使用css.selector,每个class值前面加.
41         log.info("识别name属性,执行[find_element_by_name]")
42         time.sleep(3)
43
44         #识别class属性
45         self.browser.find_element_by_name("wd").clear()  # 清空原关键字
46         self.browser.find_element_by_class_name("s_ipt").send_keys("selenium webdriver")
47         self.browser.find_element_by_class_name("s_btn").submit()
48         log.info("识别class属性,执行[find_element_by_class_name]")
49         time.sleep(3)
50
51     def test_xpath(self):
52         u‘‘‘采用xpath识别元素‘‘‘
53         self.browser.find_element_by_xpath(".//*[@id=‘kw‘]").send_keys("xpath test")        #采用id
54         self.browser.find_element_by_xpath(".//*[@id=‘su‘]").submit()           #采用id
55         log.info("采用xpath识别页面中的属性,[id]")
56
57         self.browser.find_element_by_xpath(".//*[@name=‘wd‘]").clear()  # 清空原关键字        #采用name
58         self.browser.find_element_by_xpath(".//*[@class=‘s_ipt‘]").send_keys("selenium auto test")        #采用class
59         self.browser.find_element_by_xpath(".//*[@type=‘submit‘]").submit()     #采用type
60         log.info("采用xpath识别页面中的属性,[class、type]")
61
62
63
64 if __name__ == "__main__":
65     unittest.main()

运行结果:

原文地址:https://www.cnblogs.com/zhuque/p/8321481.html

时间: 2024-10-13 21:04:21

selenium采用find_element_by方法识别页面元素的相关文章

selenium采用xpath方法识别页面元素

有些HTML页面中的元素中属性较少,经常有找不到id.class.name等常用属性的时候,这个时候xpath.css就能很好的识别到我们的元素. Firefox和chrome浏览器中均有xpath.css插件工具. 以下为通过xpath方法写的测试用例: 1 def test_xpath(self): 2 u'''采用xpath识别元素''' 3 self.browser.find_element_by_xpath(".//*[@id='kw']").send_keys("

Python3.x:Selenium中的webdriver进行页面元素定位

Python3.x:Selenium中的webdriver进行页面元素定位 页面上的元素就像人一样,有各种属性,比如元素名字,元素id,元素属性(class属性,name属性)等等.webdriver就是利用元素的这些属性来进行定位的. 可以用于定位的常用的元素属性: id name class name tag name link text partial link text xpath css selector 对应于webdriver中的定位一个元素方法分别是: driver.find_e

selenium 总结篇,常见方法和页面元素的操作

今天,总结一下selenium怎么操作web页面常见的元素. 主要有: 上传 alter dialog prompt dialog confirm dialog select list radio box input box checkBox 测试页面如下: 1 <html> 2 <head> 3 <title>selenium处理基本页面元素</title> 4 <style type="text/css"> 5 table

selenium总结篇,常见方法和页面元素的操作【转】

原文:http://www.cnblogs.com/tobecrazy/p/4570494.html 今天,总结一下selenium怎么操作web页面常见的元素. 主要有: 上传 alter dialog prompt dialog confirm dialog select list radio box input box checkBox 测试页面如下:   selenium 最核心的技巧是WebElement的识别和定位 selenium总共有八种定位方法  By.id()  通过id定位

selenium—用NoSuchElementException异常判断页面元素是否存在

一.知识补充 1.find_element的一种使用方法: find_element(by=方法,value=值) 例如: find_element(by="id",value="query") 2.selenium.common.exceptions模块 from selenium.common.exceptions import NoSuchElementException 使用WebDriver实施自动化过程中抛出的所有异常都是用selenium.common

Python+Selenium 自动化实现实例-获取页面元素信息(百度首页)

#coding=utf-8from selenium import webdriverdriver = webdriver.Chrome()driver.get("http://www.baidu.com") # 获得输入框尺寸size = driver.find_element_by_id("kw").sizeprint size #返回百度页面底部备案信息 text = driver.find_element_by_id("cp").text

javascript小练习-Firefox和低版本chrome下必须采用document方法获取到元素。

在如下的代码中,Firefox和低版本的chrome浏览器,是会报错的,因为#div未定义. <!DOCTYPE html><html><head lang="en"> <meta charset="UTF-8"> <title></title> <style> #div1{width: 200px;height: 200px;background-color: aqua;displ

selenium测试框架篇,页面对象和元素对象的管理

前期已经做好使用Jenkins做buildhttp://www.cnblogs.com/tobecrazy/p/4529399.html 做自动化框架,不可避免的就是对象库. 有一个好的对象库,可以让整个测试体系: 更容易维护 大大增加代码重用 增加测试系统的稳定性 这里先了解一下我所说的对象库: 所谓的页面对象,是指每一个真是的页面是一个对象. 比如zhihu的登陆页面是一个页面对象,http://www.zhihu.com/#signin 这个页面对象主要包含一个输入邮箱的输入框(一个元素对

CSS 隐藏页面元素的 几 种方法总结

用 CSS 隐藏页面元素有许多种方法.你可以将 opacity 设为 0.将 visibility 设为 hidden.将 display 设为 none 或者将 position 设为 absolute 然后将位置设到不可见区域. 你有没有想过,为什么我们要有这么多技术来隐藏元素,而它们看起来都实现的是同样的效果?每一种方法实际上与其他方法之间都有一些细微的不同,这些不同决定了在一个特定的场合下使用哪一个方法.我们只需要记住的细小不同点,根据不同情况选择上面这些方法中适合的方法来隐藏元素. d