进入网站,按F12,点击弹出框右上角的位置的小箭头,然后移到需要定位的元素上,点击一下即可定位元素

(1)  id定位(有id才可以定位)
wd.find_element_by_id('') #输入id属性后面的值 注意有
wd.find_elements_by_id('') #多了个s,表示指定元素不止一个

(2)  name定位(有anme才可以定位)
wd.find_element_by_name('') #输入name属性后面的值
wd.find_elements_by_name('') #多了s,表示制定元素不止一个

(3)  class定位(有class才可以定位)
wd.find_element_by_class_name('') #输入class等号后面的值
wd.find_elements_by_class_name('') #多了s,表示制定元素不止一个

(4)  标签定位(每个元素的首个单词,就是标签,只有代码特别少的才会用)'''
wd.find_element_by_tag_name('') #输入单词
wd.find_elements_by_tag_name('') #多了s,表示制定元素不止一个

(5)  逐层定位(先定位上一层元素,赋值,然后再定位下一层元素)(可以加s)'''
wd1=wd.find_element_by_name('') #定位上一层元素,然后赋值. 上一层元素可以用各种方法完成,
wd1.find_element_by_tag_name('')

(6)  文本定位和部分文本定位(适合有文字描述的按钮或者下拉框等)'''
wd.find_element_by_link_text('') #输入文本
wd.find_element_by_partial_link_text('') #输入部分文本即可定位

'''路径定位(xpath)'''
#找到元素,右键复制xpath路径
wd.find_element_by_xpath('') #粘贴路径即可
#不用copy,手动输入方法
wd.find_elements_by_xpath('//*[@属性="值"]') # //:所有跟目录, *:所有标签 @:固定的 属性="值"(值需要引号概括)
wd.find_elements_by_xpath('//标签/标签[@属性="值"]') #需要写两个标签,上级标签和本级标签
wd.find_element_by_xpath('/html/body/div/div[4]/div[2]/div/form/span/input') #直接写路径

"""css定位方法(祖孙关系用空格(跳级))(父子关系用>(逐层))(兄弟关系用~(同级))(邻居关系用+(同级))"""
wd.find_element_by_css_selector("a[href='index.php']").click() #标签加属性定位(单属性直接定位)
wd.find_element_by_css_selector("a[href='index.php'][class='cur']").click() #(多属性直接定位)
wd.find_element_by_css_selector("body a").click() #(祖孙关系定位)
wd.find_element_by_css_selector("body>div>a").click() #(父子关系,可以逐层定位)
wd.find_element_by_css_selector("a~a").click() #兄弟关系定位
wd.find_element_by_css_selector("a+a").click() #邻居关系定位
"""class用.表示 id用#表示 """

selenium元素定位之 八大元素定位的更多相关文章

  1. selenium环境配置和八大元素定位

    一.环境配置 1.selenium下载安装 安装一:pip install selenium(多数会超时安装失败) 安装二:pip install -i https://pypi.tuna.tsing ...

  2. Java + Selenium + WebDriver八大元素定位方式

    UI自动化测试的第一步就是进行元素定位,下面给大家介绍一下Selenium + WebDriver的八大元素定位方式.现在我们就以百度搜索框为例进行元素定位,如下图: 一.By.name() Java ...

  3. selenium八大元素定位方法

    1.ID定位 可以根据元素的id来定位属性,id是当前整个HTML页面中唯一的,所以可以通过id属性来唯一定位一个元素,是首选的元素定位方式.(动态ID不做考虑) # 导入webdriver和By f ...

  4. Python+Selenium定位不到元素常见原因及解决办法(报:NoSuchElementException)

         在做web应用的自动化测试时,定位元素是必不可少的,这个过程经常会碰到定位不到元素的情况(报selenium.common.exceptions.NoSuchElementException ...

  5. Selenium:WebDriver简介及元素定位

    参考内容:官方API文档,下载链接:http://download.csdn.net/detail/kwgkwg001/4004500 虫师:<selenium2自动化测试实战-基于python ...

  6. Python3 Selenium定位不到元素常见原因及解决办法

    Python3 Selenium定位不到元素常见原因及解决办法 一.问题描述 在做web应用的自动化测试时,定位元素是必不可少的,这个过程经常会碰到定位不到元素的情况: 报错信息: no such e ...

  7. selenium自动化之定位多个元素

    前面我们讲的都是如何定位单个元素,下面讲下怎么去定位多个元素,并且输出文本. 以百度为例:获取标红的这一组元素的文本 这里我用到的是xpath来定位的://div[@id="u1" ...

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

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

  9. selenium定位不到元素

    selenium定位不到元素时,网上大部分查到都是iFrame的切换问题,然后是多窗口.句柄的处理问题, 在初学是遇到定位不到元素,一直在找上面的问题,发现都不是上面的问题, 后来才发现是页面刷新的问 ...

随机推荐

  1. 28、python3.7(windows)将ORACLE11gR2中的数据取出写入excel表

    28.1.下载python的离线扩展模块: 1.windows下python的离线扩展模块下载地址为: https://www.lfd.uci.edu/~gohlke/pythonlibs/ 提示: ...

  2. [Kick Start] 2021 Round B

    题目:Kick Start 2021 Round-B . Increasing Substring 输出字符串中每个字符的最长 Increasing Substring 的长度,非常简单的动态规划问题 ...

  3. 【转】JAVA四种引用(强引用,弱引用,软引用,虚引用)

    转自:http://www.cnblogs.com/gudi/p/6403953.html 1.强引用(StrongReference) 强引用是使用最普遍的引用.如果一个对象具有强引用,那垃圾回收器 ...

  4. Ubuntu创建图标

    起因 安装一些软件时,总是没有图标,导致无法固定到docky栏,所以极为不方便,所以需要自己创建图标. 操作 以创建微信图标为例 [Desktop Entry] Name=Wecaht #名字 Com ...

  5. SpringMVC(9)实现注解式权限验证

    对大部分系统来说都需要权限管理来决定不同用户可以看到哪些内容,那么如何在Spring MVC中实现权限验证呢?当然我们可以继续使用servlet中的过滤器Filter来实现.但借助于Spring MV ...

  6. 被swoole坑哭的PHP程序员 (转)

    本文主要记录一下学习swoole的过程.填过的坑以及swoole究竟有多么强大! 首先说一下对swoole的理解:披着PHP外衣的C程序.很多PHPer朋友看到swoole提供的强大功能.外界对其的崇 ...

  7. MySQL | Xtrabackup 安装

    rpm方式安装 # xtrabackup 2.4.8 安装包 wget https://www.percona.com/downloads/XtraBackup/Percona-XtraBackup- ...

  8. [TJOI2007]书架 题解

    文中给了你一些句子,以及让你任意插入某个位置以及查询某个位置的句子. 发现因为是句子很难搞,所以开个 map 离散一下成数字.然后在额外开一个 map 记录这个数字对应的句子. 然后你要写一种支持插入 ...

  9. NOIP 模拟赛 day5 T2 水 故事题解

    题目描述 有一块矩形土地被划分成 \(\small n×m\) 个正方形小块.这些小块高低不平,每一小块都有自己的高度.水流可以由任意一块地流向周围四个方向的四块地中,但是不能直接流入对角相连的小块中 ...

  10. C语言:预处理命令总结

    预处理指令是以#号开头的代码行,# 号必须是该行除了任何空白字符外的第一个字符.# 后是指令关键字,在关键字和 # 号之间允许存在任意个数的空白字符,整行语句构成了一条预处理指令,该指令将在编译器进行 ...