# -*- coding:utf-8 -*-
from selenium import webdriver
from selenium.webdriver.common.by import By # 打开Chrome浏览器和百度网页
driver = webdriver.Chrome()
driver.get('https://www.baidu.com/') # 元素定位:id绝对唯一,name其次
# id 定位‘百度首页输入框’元素,并输入内容
driver.find_element_by_id('kw').send_keys('软件测试')
driver.find_element(By.ID,'kw').send_keys('软件测试') # classname
# 返回符合条件的第一个元素
driver.find_element_by_class_name('s_ipt').send_keys('今日新闻')
# 返回符合条件的所有元素,返回值是list,每一个值都是一个Webelement对象
# 不能再后面用send.key(),报错AttributeError: 'list' object has no attribute 'send_keys'
driver.find_elements_by_class_name('s_ipt') # tag_name
driver.find_element_by_tag_name('span')
driver.find_elements_by_tag_name('span') #name
driver.find_element_by_name('wd').send_keys('成功')
driver.find_elements_by_name('wd') #link_text
driver.find_element_by_link_text('贴吧').click()#完全匹配,一模一样
driver.find_element_by_partial_link_text('贴').click()#模糊匹配,包含即可
driver.find_elements_by_link_text('贴吧')#完全匹配,一模一样
driver.find_elements_by_partial_link_text('贴') # css
driver.find_element_by_css_selector('') # xpath
driver.find_element_by_xpath('') # 1. 绝对定位(不推荐用) : 以/开头,父/子关系 # 2. 相对定位
# A:以//开头,在这个html页面中,有木有符合表达式的元素
# //标签名[@属性名称=属性值]
# //标签名[@属性名称=属性值 and @属性名称=属性值] #B:层级定位 # C: 文本内容定位: //标签名[text()='文本值'] # D: 包含定位 : contains
# contains(@属性名,属性值) 例如 //a[contains(@class,"btns-enter-qq")]
# contains(text(),属性值) # E: 轴定位(通过以下轴名称定位)
# ancestor : 祖先节点,包括父
# parent : 父节点
# preceding: 当前元素节点标签之前的所有节点(html页面先后顺序)
# preceding-slibling:当前元素节点标签之前的所有兄弟结点
# following: 当前元素节点标签之后的所有节点(html页面先后顺序)
# following-slibling:当前元素节点标签之后的所有兄弟结点
# /轴名称::节点名称[@属性名=属性值]

  

python-web自动化-元素定位的更多相关文章

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

    最近学习自动化测试,终于初步学习完成,需要进行博客日志总结,加深巩固自己的知识. 元素的八种定位方式 1.id 以百度为例子 我们在python输入的元素定位语法:bs.find_element_by ...

  2. selenium+python自动化-元素定位

    自动化只要掌握四步操作:获取元素,操作元素,获取返回结果,断言(返回结果与期望结果是否一致),最后自动出测试报告. 本篇主要讲几种基本的元素定位方法元素定位在这四个环节中是至关重要的,如果说按学习精力 ...

  3. Appium + Python自动化 - 元素定位uiautomatorviewer

    元素定位主要介绍如何使用uiautiomatorviewer,通过定位到页面上的元素,然后进行相应的点击等操作.uiautiomatorviewer是android-sdk自带的一个元素定位工具,非常 ...

  4. Appium+python自动化-元素定位uiautomatorviewer的使用

    前言 环境搭建好了,下一步元素定位,元素定位本篇主要介绍如何使用uiautomatorviewer,通过定位到页面上的元素,然后进行相应的点击等操作. uiautomatorviewer是androi ...

  5. web页面元素定位

    所有web网页中有8种元素定位方式 靠单一的特征找元素:6种(id,class_name,tag_name,name,link_text(2))组合各种特征和关系来找元素:2种(xpath,css) ...

  6. 【Python web自动化】之读取配置文件参数,利用cookie返回值进行跳过验证码进行登录操作

    当进行Python的Web自动化时,会涉及到验证码问题,该如何跳过执行呢,下面请看代码: 1.首先新建配置文件*.ini格式 config.ini [db] #基础地址: baseurl = http ...

  7. python+selenium遇到元素定位不到的问题,顺便记录一下自己这次的错误(报错selenium.common.exceptions.NoSuchElementException)

    今天在写selenium一个发送邮件脚本时,遇到一些没有找到页面元素的错误.经过自己反复调试,找原因百度,终于解决了.简单总结一下吧,原因有以下几点: 一:Frame控件嵌套,.Frame/Ifram ...

  8. app自动化 - 元素定位不到?别慌,3大工具帮你搞定!

    在日常的android app自动化测试工作当中,很多朋友在元素定位时,会遇到以下类似的报错: 然后会来问,这是啥情况? 一般情况下,都会送上以下亲切的关怀: 1)adb能识别到设备吗? 2)设备有被 ...

  9. APPIUM-Android自动化元素定位方式

    一.常用元素定位方法 appium从selenium中继承了所有的元素定位方法, 并且增加了一些自己的元素定位方式,下方截图分别为selenium和MobileBy包源码: 但是从继承selenium ...

  10. python + web自动化,点击不生效,提示“selenium.common.exceptions.ElementClickInterceptedException: Message: element click intercepted: Element is not clickable at point (117, 674)”

    前言: 在做web自动化时,遇到一个缩放了浏览器比例的操作,从100%缩小到80%,再进行点击的时候,弹出报错信息,无法点击 selenium.common.exceptions.ElementCli ...

随机推荐

  1. 【转载】在线yml与properties文件转换工具

    http://www.toyaml.com/index.html

  2. cocos2d-x学习笔记(贪吃蛇代码)

    方向键控制蛇运动:上↑:右→:下↓:左←. 百度网盘链接:https://pan.baidu.com/s/1c1FSXaw 提取密码:u1kr

  3. Java log4j

    <dependency> <groupId>commons-logging</groupId> <artifactId>commons-logging& ...

  4. 前端修炼の道 | <div> 标签简介

    <div> 标签是最基本的,同时也是最常用的标签. 该标签是一个双标签,出现在主体区域中,主要作为一个容器标签来使用,在 <div> 标签中可以包含除 <body> ...

  5. nodejs -- fs模块 ---> readFile 函数 1) fs.readFile(filename, "binary", function(error, file) 2) response.write(file, "binary");

    一:代码: 1.1 入口文件: index.js var server = require('./server'); var router = require("./router" ...

  6. My IELTS result has come out 我的雅思成绩出来了

    Thanks to god, I finally get a score of 6.5, although my socres of  listening  and writing are only ...

  7. split根据一个元素分割语句

    a = ‘https://www.baidu.com/s?wd=%E7%AE%80%E4%B9%A6&rsv_spt=1&rsv_iqid=0xdfa3666f00083a6f& ...

  8. python:3种爬虫的优缺点

                                                                 性能对比            爬取方法            性    能 ...

  9. element ui表格相同内容自动合并

    一开始觉得合并单元格很困难,什么鬼,后来仔细查看api,发现是可以实现的,特此记录下,直接看代码, 项目需求是第一列和第二列还有第16列需要相同内容进行合并,所以判断条件是不同的: 实现后效果如下: ...

  10. 第一次学习手游开发:Flappy Bird制作

    周末有空,学习下手游开发,因为本人压根没有基础,于是找了个视频,跟着教程撸了个Flappy Bird. 感谢 SwiftV课堂 提供的教学视频 源码地址: https://github.com/phe ...