有些HTML页面中的元素中属性较少,经常有找不到id、class、name等常用属性的时候,这个时候xpath、css就能很好的识别到我们的元素。

  Firefox和chrome浏览器中均有xpath、css插件工具。

  以下为通过xpath方法写的测试用例:

     def test_xpath(self):
u'''采用xpath识别元素'''
self.browser.find_element_by_xpath(".//*[@id='kw']").send_keys("xpath test") #采用id,.//input[@id='kw']
self.browser.find_element_by_xpath(".//*[@id='su']").submit() #采用id
log.info("采用xpath识别页面中的属性,[id]")
time.sleep()
self.browser.find_element_by_xpath(".//*[@name='wd']").clear() # 清空原关键字 #采用name,.//input[@name='wd']
self.browser.find_element_by_xpath(".//*[@class='s_ipt']").send_keys("selenium auto test") #采用class,.//input[@class='s_ipt']
#self.browser.find_element_by_xpath(".//*[@type='submit']").submit() #采用type,.//input[@type='submit']
self.browser.find_element_by_xpath("//form[@id='form']/span/input[@value='百度一下']").submit() #提交搜索
log.info("采用xpath识别页面中的属性,[class、type]")
'''
.//*[@id='kw']
.//*[@name='wd']
.//*[@class='s_ipt']
.//*[@autocomplete='off']
.//*[@type='submit']
.//input[@autocomplete='off']
.//input[ @ type = 'submit']
//form[@id='form']/span/input[@value='百度一下']
'''

  

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

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

    主要是练习获取页面中的各元素,马克 # coding:utf-8 import time from selenium import webdriver import unittest from pyt ...

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

    Python3.x:Selenium中的webdriver进行页面元素定位 页面上的元素就像人一样,有各种属性,比如元素名字,元素id,元素属性(class属性,name属性)等等.webdriver ...

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

    今天,总结一下selenium怎么操作web页面常见的元素. 主要有: 上传 alter dialog prompt dialog confirm dialog select list radio b ...

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

    原文:http://www.cnblogs.com/tobecrazy/p/4570494.html 今天,总结一下selenium怎么操作web页面常见的元素. 主要有: 上传 alter dial ...

  5. selenium java maven 自动化测试(二) 页面元素获取与操作

    在第一节中,我们已经成功打开了页面,但是自动化测试必然包含了表单的填写与按钮的点击. 所以在第二章中我以博客园为例,完成按钮点击,表单填写 还是以代码为准,先上代码: package com.ryan ...

  6. By.Xpath快速定位页面元素常用方法

    先看一看xpath的语法 我们将在下面的例子中使用这个 XML 文档. <?xml version="1.0" encoding="ISO-8859-1" ...

  7. 用XPath定位Web页面元素时,如何快速验证XPath语句是否正确?

    在使用Selenium做Web UI自动化测试的过程中,XPath是一种定位页面元素的常用方式.然而,面对某些元素的XPath路径过于复杂,我们想快速验证拼凑的Xpath语句是否正确时,该怎么办呢?这 ...

  8. Selenium WebDriver- 操作frame中的页面元素

    #encoding=utf-8 import unittest import time from selenium import webdriver from selenium.webdriver i ...

  9. Selenium WebDriver-通过ActionChains实现页面元素拖拽

    #encoding=utf-8 import unittest import time import chardet from selenium import webdriver class Visi ...

随机推荐

  1. ABP之调试

    虽然通常情况下不需要,但是Abp还是提供了能在调试项目中进入Abp源码的方法.. 所有的ABP NuGet包都启用了源码连接.这意味着我们可以在我们的项目中调试ABP源码,要启用它,更改Visual ...

  2. windows配置nginx实现负载均衡集群 -请求分流

    windows配置nginx实现负载均衡集群 一.windows上安装nginx 1.下载nginx的windows版本http://nginx.org/en/download.html 2.把压缩文 ...

  3. 使用redis可能出现的问题

    1)缓存与数据库双写不一致 2)缓存雪崩 3)缓存穿透 由于缓存中不存在某个key,所有的请求都会落到数据库上,会对数据库造成很大压力,甚至崩溃 一个简单的方案是将不存在的数据也缓存起来(value值 ...

  4. Virtual DOM 系列二:核心API

    为了更好的研究Virtual DOM,我选择了snabbdom来学习.相比Vue来说,snabbdom对于研究虚拟DOM更好,因为它里面没有其他干扰的东西,而且源码也比较少,因此研究起来更方便. 1. ...

  5. 内核调试打印dump_stack

    https://blog.csdn.net/dragon101788/article/details/9419175 在函数中加入dump_stack函数 需要包含的头文件: #include < ...

  6. springmvc的前端控制器

    <servlet> <servlet-name>xxx</servlet-name> <servlet-class>org.springframewor ...

  7. 在vue 里使用腾讯ditu

    https://www.cnblogs.com/mrer/p/7144705.html

  8. .Net Core学习地址

    官方教程:https://docs.microsoft.com/zh-cn/aspnet/core/ 入门无忧网:http://www.rm5u.com/netcore/netcore-intro.h ...

  9. springdata 动态查询之分页

  10. How To Configure NetScaler AppFlow for SolarWinds

    How To Configure NetScaler AppFlow for SolarWinds 来源  https://support.citrix.com/article/CTX227300 A ...