使用tag来定位
tag定位的是标签,不常用
例如:百度的输入框标签是input
最终会报错,因为百度首页input标签太多了


driver = webdriver.Firefox(executable_path="d:\\geckodriver")
driver.get("https://www.baidu.com")driver.find_element_by_tag_name("input").send_Keys("123")


使用link

link超链接定位,例如百度的hao123 href = "http://www.hao123.com


driver = webdriver.Firefox(executable_path="d:\\geckodriver")
driver.get("https://www.baidu.com")
driver.find_element_by_link_text("hao123").click()
driver.back()
driver.find_element_by_partial_link_text("123").click()

说明link_text和partial_link_text的区别,有的时候名字过长,partial_link就是可以进行模糊定位


CSS定位
和xpath一样 css是根据css派生器来定位 基本写法和css写法一致 例如:

最常见的id,class,标签,以百度为例
css 用#号表示 id 属性,如:#kw
css 用.表示 class 属性,如:.s_ipt
css 直接用标签名称,无任何标示符,如:input

driver = webdriver.Firefox(executable_path = "d:\\geckodriver")
driver.get("https://www.baidu.com")
driver.find_element_by_css_selector("#kw").send_keys("1")
driver.find_element_by_css_selector(".s_ipt").send_keys("2")
driver.find_element_by_css_selector("input").send_keys("3")

其他属性直接编写即可
例如:name属性和autocomplete属性

driver.find_element_by_css_selector("[name='wd']").send_keys("4")
driver.find_element_by_css_selector("[autocomplete='off']").send_keys("5")

通过标签和元素组合编写
例如:

driver.find_element_by_css_selector("input.#kw").send_keys("6")
driver.find_element_by_css_selector("input.[id='kw']").send_keys("7")

通过层级定位

#xpath中的 xpath://form[@id='form']/span/input 和 //form[@class='fm']/span/input 用css来编写
driver.find_element_by_css_selector("form#form>span>input").send_keys("8")
driver.find_element_by_css_selector("form.fm>span>input").send_keys("9")

索引:定位

同标签多可以通过 option:nth-child(1) 来定位


driver = webdriver.Firefox(executable_path="d:\\geckodriver")
driver.get("file:///G:/%E6%A1%8C%E9%9D%A2/20180329/%E7%AC%AC%E4%BA%8C%E9%98%B6%E6%AE%B5/HTML/day8.html")
driver.find_element_by_css_selector("select#zz>option:nth-child(1)").click()
driver.find_element_by_css_selector("select#zz>option:nth-child(2)").click()
driver.find_element_by_css_selector("select#zz>option:nth-child(3)").click()

逻辑运算定位
可以同时定位多个元素,加强定位,和xpath不一样的,可以不写and

driver = webdriver.Firefox(executable_path = "d:\\geckodriver")
driver.get("https://www.baidu.com")
driver.find_element_by_css_selector("input[name='wd'][autocomplete='off']").send_keys("1")

非常遗憾 现在的css不存在模糊匹配

转载于:https://blog.51cto.com/wiktk/2133801

python-selenum3 第五天定位——不常用定位与css定位详相关推荐

  1. autoware定位:gnss定位与lidar定位(四)

    autoware定位:gnss定位与lidar定位(四) 介绍如何在autoware中使用GNSS进行定位 启动autoware $ cd ~/autoware.ai $ source install ...

  2. 【高精度定位】RTK定位与RTD定位知识科普

    高精度定位一般指亚米级别或厘米级别的定位,常见的室内有蓝牙AoA和UWB两种技术,室外有北斗地基增强技术,这些技术都是采用算法进行定位. 工业4.0时代,在资源和环境约束不断强化的背景下,创新驱动传统 ...

  3. wbe自动化测试----xpath定位与CSS定位

    火狐插件安装插件 1. 2. 3. 4. 5.也可以直接搜索下载 2.3.1 xpath:属性定位 2.于是可以用以下xpath方法定位 2.3.2 xpath:其它属性 1.如果一个元素id.nam ...

  4. rssi室内定位算法原理_室内定位方案常用的4种定位算法

    目前常见的室内定位技术有超宽带UWB室内定位技术,蓝牙室内定位技术,RFID(无线射频识别)定位,超声波定位,Wi-Fi定位等.室内定位依赖于定位算法,定位算法决定了室内定位的模式.室内定位种类虽然比 ...

  5. css修改代码,网站模板修改中常用到的CSS代码详解

    在上一篇文章中,提到了一些修改网站模板中常用到的方法,工具.但其中也牵涉到不到关于CSS样式表的一些知识,对于这些知识,缺乏的还占大多数,今天我就将常用的一些CSS样式表语法整理一下,发出来给大家,希 ...

  6. css定位和xpath定位,selenium的css定位与xpath定位

    大部分人在使用selenium定位元素时,用的是xpath定位,因为xpath基本能解决定位的需求.css定位往往被忽略掉了,其实css定位也有它的价值,css定位更快,语法更简洁. 一:css:属性 ...

  7. 简单理解sticky定位与fixed定位的区别

    fixed:固定定位,相对于可视窗口定位,一但使用top,left绑定后,无论怎么滚动可视窗口区域(也就是滑动滚动条),它的位置都不会发生变化 sticky:粘性定位,相当于是相对定位和固定定位的结合 ...

  8. 蓝牙定位与UWB定位的对比

    室内定位技术有好多种,有发展多年的超声波.蓝牙(iBeacon).红外.超宽带UWB以及最近兴起的蓝牙5.1 AOA等等.UWB在国内发展也有十多年了,其应用似乎很广,市场也比较大,UWB在苹果最新手 ...

  9. css定位的百分比的算法,css定位中的百分比

    ----转载自自己在牛人部落中的相关文章--- 在前端css定位中经常面对的一个问题是,百分比定位究竟是针对于谁定位? 一.margin,padding的百分比 首先从css的设计意图说起,在浏览器默 ...

最新文章

  1. 什么是ieee通用数据格式_Excel数据格式设置,我只用Ctrl+E,不仅功能强大,而且方便易操作...
  2. Linux内核开发函数详解
  3. weex前端式写法解决方案---eros
  4. Apollo后台配置:添加用户
  5. Vue2.0+vuex+H5实现音乐播放及歌曲切换功能的方法及原理解释
  6. django-反向解析-有位置参数的情况-视图反解-模板反解
  7. mathpix公式利器使用心得
  8. 千万别让海底捞知道你的生日
  9. centos6.5安装redmine2.6
  10. RK3399的ADC配置指南
  11. c++核心编程第一部分讲义_java并发编程实战-第一部分总结
  12. 【C语言入门教程】4.7 指针的地址分配 - mallocl(), free()
  13. robocode_Robocode大师的秘密,多态敌人缓存
  14. 2D游戏案例:(平台下落类)Solo Fall
  15. 暴力破解网站后台burpsuite
  16. 计算机word文档无法工作,win10所有word文档都打不开如何解决_win10电脑所有word文档无法打开解决教程...
  17. 手工测试1年经验面试,张口要13K,我真是服了····
  18. 医生说 | 当心!长期情绪压抑,正在毁掉你的身体
  19. MFC 控件PictureControl 清除显示
  20. 面试官:你很优秀,现在就签合同!95后扭头就走:不把我当人

热门文章

  1. 运动目标检测__光流法
  2. 【数据库】适用于SQLite的SQL语句(三)
  3. ajax的auto是true,一个AJAX自动完成功能的js封装源码[支持中文]
  4. r语言remarkdown展示图_使用R语言包circlize可视化展示blast双序列比对结果
  5. dsp和通用计算机的区别,dsp芯片是什么_dsp芯片和通用微处理器有什么区别
  6. java8 同步队列_秋招之路8:JAVA锁体系和AQS抽象队列同步器
  7. python在工厂中的运用_Python常见工厂函数用法示例
  8. Java项目:仿小米电子产品售卖商城系统(java+SpringBoot+Vue+MySQL+Redis+ElementUI)
  9. linux 硬盘操作,linux常用disk磁盘操作命令
  10. 华为服务器引入清空外部配置文件,云服务器还原配置文件