Python自动化学习--元素定位
from selenium import webdriver
import time driver = webdriver.Chrome()
driver.get("https://www.baidu.com/index.php?tn=25017023_6_pg&ssl_s=1&ssl_c=ssl1_16d7f66ac98")
'''
# 元素定位之 id 定位
driver.find_element_by_id("kw").send_keys("华为")
driver.find_element_by_id("su").click()
'''
'''
#元素定位之 class name 定位
driver.find_element_by_class_name("s_ipt").send_keys("荣耀")
driver.find_element_by_id("su").click()
'''
'''
#元素定位之 tag 定位
driver.find_element_by_tag_name("input").send_keys("linux")
driver.find_element_by_id("su").click()
'''
'''
#元素定位之 link text 定位
driver.find_element_by_link_text("新闻").click()
time.sleep(3)
''' """
#元素定位之 partial link 定位 (类似于模糊定位)
driver.find_element_by_partial_link_text("hao").click()
time.sleep(3)
"""
'''
#元素定位之 XPath 定位 绝对路径定位
driver.find_element_by_xpath('//*[@id="kw"]').send_keys("国庆盛典")
driver.find_element_by_xpath('//*[@id="su"]').click()
time.sleep(3)
'''
'''
#元素定位之 XPath 定位 元素属性定位
driver.find_element_by_xpath('//input[@id="kw"]').send_keys("小米官网")
driver.find_element_by_xpath('//input[@id="su"]').click()
time.sleep(3)
'''
'''
#元素定位之 XPath 元素属性与层级结合定位
driver.find_element_by_xpath('//span[@class="bg s_ipt_wr quickdelete-wrap"]/input').send_keys("裤子")
time.sleep(2)
'''
'''
#元素定位之 XPath 逻辑运算符定位
driver.find_element_by_xpath("//*[@id='kw' and @class='s_ipt']").send_keys("裤子")
time.sleep(2)
'''
'''
#元素定位之 XPath contains 方法
driver.find_element_by_xpath("//span[contains(@class,'s_ipt_wr')]/input").send_keys("裤子")
time.sleep(2)
'''
'''
#元素定位之 XPath text() 和 contains 配合使用,实现link text 定位的效果
driver.find_element_by_xpath("//a[contains(text(),'hao')]").click()
time.sleep(2)
'''
'''
#CSS 定位 通过 class 选择器定位 写法:.class
driver.find_element_by_css_selector(".s_ipt").send_keys("裤子")
time.sleep(2)
'''
'''
#CSS 定位 通过 id 选择器定位 写法:#id
driver.find_element_by_css_selector("#kw").send_keys("裤子")
time.sleep(2)
'''
'''
#CSS 定位 通过标签层级关系定位 写法:element > element
driver.find_element_by_css_selector("span > input").send_keys("裤子")
time.sleep(2)
'''
'''
#CSS 定位 通过属性定位
#driver.find_element_by_css_selector("[autocomplete=off]").send_keys('裤子')
driver.find_element_by_css_selector("[name='wd']").send_keys('裤子')
driver.find_element_by_css_selector("[type='submit']").click()
time.sleep(2)
'''
'''
#CSS 定位 组合定位
driver.find_element_by_css_selector("form.fm > span > input.s_ipt").send_keys("裤子")
driver.find_element_by_css_selector("form#form > span > [type='submit']").click()
time.sleep(2)
''' '''
#By方式的 8 种定位方式,写法差不多,只是需要将By方式导入才能使用
from selenium.webdriver.common.by import By
driver.find_element(By.ID,"kw").send_keys("裤子")
driver.find_element(By.NAME,"wd").send_keys("裤子")
driver.find_element(By.CLASS_NAME,"s_ipt").send_keys("裤子")
driver.find_element(By.TAG_NAME,"input").send_keys("裤子")
driver.find_element(By.LINK_TEXT,"新闻").click()
driver.find_element(By.PARTIAL_LINK_TEXT,"hao").click()
driver.find_element(By.XPATH,"//*[@class='bg s_btn']")
driver.find_element(By.CSS_SELECTOR,"span.bg s_btn_wr > input#su")
'''
time.sleep(2) driver.quit()
Python自动化学习--元素定位的更多相关文章
- selenium+python自动化之元素定位
自动化按步骤拆分的话,可以分为四步操作:定位元素,操作元素,获取返回结果,断言(返回结果与期望结果是否一致),最后自动出测试报告.本篇接下来讲基本的八种元素定位方法.说的通俗一点,就是教大家找对象. ...
- Appium+python自动化12-appium元素定位
前言 appium定位app上的元素,可以通过id,name.class这些属性定位到 一.id定位 1.appium的id属性也就是通过UI Automator工具查看的resource-id属性
- Appium+python自动化12-appium元素定位【转载】
前言 appium定位app上的元素,可以通过id,name.class这些属性定位到 一.id定位 1.appium的id属性也就是通过UI Automator工具查看的resource-id属性
- Appium+python自动化-appium元素定位
前言 appium定位app上的元素,可以通过id,name.class这些属性定位到 一.id定位 1.appium的id属性也就是通过UI Automator工具查看的resource-id属性
- appium+python自动化50-生成定位对象模板templet(jinja2)
前言 每次自己写pageobject定位元素对象太繁琐,格式都差不多,只是换个定位方法,这种就可以才有模板的方式,批量生成pageobject定位元素对象的模板 python里面生成模板有两个模块可以 ...
- appium+python自动化49-yaml管理定位元素
前言 如何高效管理定位元素,这个是很有学问的问题,也是面试必问的[以下纯属个人观点,勿喷!]. 有的人用xml管理页面定位元素,这种逼格略高,但是小编认为学习成本大,贼麻烦. 有的人提到用excel管 ...
- python ui自动化之元素定位和常用操作
做ui自动化的最基础的就是页面元素定位了,如果连页面元素都定位不到,自动化从何谈起呢?接下来我们就看看页面元素定位的方法吧!(这里就用百度页面来进行演示) 一.最通用的几种定位方式: 1.通过id定位 ...
- Selenium with Python 003 - 页面元素定位
WebUI自动化,首先需要定位页面中待操作的元素,然后进行各种事件操作,这里我们首先介绍Selenium Python 如何定位页面元素,WebDriver 提供了一系列的方法. 定位单个页面元素(返 ...
- Selenium2+Python自动化学习笔记(第1天)
参考[http://blog.csdn.net/henni_719/article/details/51096531]大神写的笔记,多谢大神共享. 哈哈,今天又找到一位大神写的Selenium2+Py ...
随机推荐
- 测试String——StringBuffer——StringBulider的速度
package comnf147Package; import java.util.ArrayList; import java.util.List; public class String_Test ...
- 后盾网lavarel视频项目---2、phpstorm显示类中的方法快捷键
后盾网lavarel视频项目---2.phpstorm显示类中的方法快捷键 一.总结 一句话总结: ctrl + f12 1.npm安装js插件? npm install hdjs 2.phpstor ...
- STOMP协议详解
STOMP协议详解 作者:chszs,转载需注明.博客主页:http://blog.csdn.net/chszs 一.STOMP协议介绍 STOMP即Simple (or Streaming) T ...
- ES6 暂时性死区
在ES6中,声明变量新增了两个关键字:let命令和const命令 如果在区块中存在let或者const命令时,任何变量都必须在声明之前使用,无论是区块外部的全局变量或者是区块内部的变量: /* 区块外 ...
- Flask 中的蓝图
相当与django中的App 基础模板 1.初识Flask蓝图(blueprint) 创建一个项目然后将目录结构做成: s_view.py 文件中的内容 from flask import Blu ...
- Sass 的 & 符号(ampersands)
重复声明 有时您需要击败第三方 CSS 库的声明来获取样式的所有权: .parent.parent {} 这种方式比使用和 ID,内联样式或!important的压倒性弱,并且它可能比使用任意父元素限 ...
- Python学习之==>URL编码解码&if __name__ == '__main__'
一.URL编码解码 url的编码解码需要用到标准模块urllib中的parse方法 from urllib import parse url = 'http://www.baidu.com?query ...
- jdk的keytool生成jks和获取jks的信息,公匙
1.生成jks.执行命令:keytool -genkeypair -alias mytest -keyalg RSA -keypass mypass -keystore mytest.jks -sto ...
- C++ Primer笔记(1)——连续读取数据、类型对应的尺寸、类型转换、字符串分行写法
这次要看看C++ Primer,这本基本上就是必读书籍了.下面的内容就是一些之前没有学过的知识的笔记. 读取数量不定的输入数据 虽然很简单,但是还是记一下: #include <iostream ...
- 004 gcc 编译 C/C++ 默认使用哪个标准
0. 前言 我挺久没碰 C,不想就这么忘了,最近重温了一些相关知识 1. C 语言的几种"方言" 简单地说,有这么几种常见的 年份 名称 1983 ANSI C 1987 C87 ...