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自动化学习--元素定位的更多相关文章

  1. selenium+python自动化之元素定位

    自动化按步骤拆分的话,可以分为四步操作:定位元素,操作元素,获取返回结果,断言(返回结果与期望结果是否一致),最后自动出测试报告.本篇接下来讲基本的八种元素定位方法.说的通俗一点,就是教大家找对象. ...

  2. Appium+python自动化12-appium元素定位

    前言 appium定位app上的元素,可以通过id,name.class这些属性定位到 一.id定位 1.appium的id属性也就是通过UI Automator工具查看的resource-id属性

  3. Appium+python自动化12-appium元素定位【转载】

    前言 appium定位app上的元素,可以通过id,name.class这些属性定位到 一.id定位 1.appium的id属性也就是通过UI Automator工具查看的resource-id属性

  4. Appium+python自动化-appium元素定位

    前言 appium定位app上的元素,可以通过id,name.class这些属性定位到 一.id定位 1.appium的id属性也就是通过UI Automator工具查看的resource-id属性

  5. appium+python自动化50-生成定位对象模板templet(jinja2)

    前言 每次自己写pageobject定位元素对象太繁琐,格式都差不多,只是换个定位方法,这种就可以才有模板的方式,批量生成pageobject定位元素对象的模板 python里面生成模板有两个模块可以 ...

  6. appium+python自动化49-yaml管理定位元素

    前言 如何高效管理定位元素,这个是很有学问的问题,也是面试必问的[以下纯属个人观点,勿喷!]. 有的人用xml管理页面定位元素,这种逼格略高,但是小编认为学习成本大,贼麻烦. 有的人提到用excel管 ...

  7. python ui自动化之元素定位和常用操作

    做ui自动化的最基础的就是页面元素定位了,如果连页面元素都定位不到,自动化从何谈起呢?接下来我们就看看页面元素定位的方法吧!(这里就用百度页面来进行演示) 一.最通用的几种定位方式: 1.通过id定位 ...

  8. Selenium with Python 003 - 页面元素定位

    WebUI自动化,首先需要定位页面中待操作的元素,然后进行各种事件操作,这里我们首先介绍Selenium Python 如何定位页面元素,WebDriver 提供了一系列的方法. 定位单个页面元素(返 ...

  9. Selenium2+Python自动化学习笔记(第1天)

    参考[http://blog.csdn.net/henni_719/article/details/51096531]大神写的笔记,多谢大神共享. 哈哈,今天又找到一位大神写的Selenium2+Py ...

随机推荐

  1. idea使用 git 撤销commit 原

    填写commit的id  就可以取消这一次的commit

  2. Detectron系统实现了最先进的物体检测算法https://github.com/facebookresearch/Detectron

    ,包括Mask R-CNN. 它是用Python编写的,支持Caffe2深度学习框架. 不久前,FAIR才开源了语音识别的工具wav2letter,戳这里看大数据文摘介绍<快讯 | Facebo ...

  3. 总结 webpack 的插件

    模块化第一步  初始化 package.json 文件 node.js 指令 npm init npm的官网:https://www.npmjs.com/ 搜索插件名,查看插件的用法 1. webpa ...

  4. 自动化应用一键部署卸载&持续构建测试与交付

    1.代码仓库:版本控制Gitlab Gitlab后台管理开发视角Gitlab的应用运维视角Gitlab的应用Gitlab本地使用 2.批量部署交付工具:Ansible Ansible虚拟环境构建Ans ...

  5. python学习之requests基础

    学习地址:http://docs.python-requests.org/zh_CN/latest/user/quickstart.html#id2 使用requests发送网络请求 一.导入requ ...

  6. windows一次无线网卡被关闭事件

    使用的是Dell的笔记本,fn+无线图标莫名的是蓝牙的启动. 有一天突然无线网卡无法上网,无法发现无线网络: 1. 在服务中开启"Wired AutoConfig"以及“WLAN ...

  7. JS单引号嵌套的问题,怎么改才能对呢!

    JS单引号嵌套的问题,怎么改才能对呢! https://zhidao.baidu.com/question/416584343.html document.getElementById(celbid) ...

  8. Java面试题集(116-135)

    Java程序员面试题集(116-135) 摘要:这一部分讲解基于Java的Web开发相关面试题,即便在Java走向没落的当下,基于Java的Web开发因为拥有非常成熟的解决方案,仍然被广泛应用.不管你 ...

  9. Mysql数据库存储数据时间与系统获取时间不一致

    最近进行项目开发,发现存在数据库内的数据和系统查询到的数据相差8小时 发现有2种比较合适的方法 (一)修改mysql服务的区时 centos进入mysql查看/修改时区 1.输入以下命令进入mysql ...

  10. 常用获取Android崩溃日志和IOS崩溃日志的几种方法

    一:前言 在日常测试app时,经常会遇到崩溃问题,测试快速抓取到崩溃日志可以有效方便开发进行定位,快速解决问题所在测试做到测试分析,定位是非常重要的,这也是判断一个测试能力指标的一大维度. 二:And ...