首页
学习
活动
专区
圈层
工具
发布

自动化-Selenium 3-元素定位(Python版)

1、by_id 当所定位的元素具有id属性的时候我们可以通过by_id来定位该元素。 例如打开百度首页,定位搜索框后输入Selenium。 搜索框页面源代码:属性id值为kw 脚本代码: #!...") 2、by_name 当所定位的元素具有name属性的时候我们可以通过by_name来定位该元素。...XPath是XML Path的简称,是一门在XML文档中查找信息的语言,由于HTML文档本身就是一个标准的XML页面,所以XPath在XML文档中通过元素和属性进行导航。...'] 查找页面上具有name属性为nameaaa的input元素://input[@name='nameaaa'] 查找页面上id为formID的form元素下的第一个input元素://form[@id...='formID']/input[1] 查找页面具有name属性为nameddd并且type属性为button的input元素://input[@name='nameddd'][@type='button

8.2K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    《手把手教你》系列技巧篇(十五)-java+ selenium自动化测试-元素定位大法之By xpath中卷(详细教程)

    XPath 是XML 和Path的缩写,主要用于xml文档中选择文档中节点。基于XML树状文档结构,XPath语言可以用在整棵树中寻找指定的节点。XPath 定位和CSS定位相比有更大的灵活性。...XPath 在文档树中某个节点既可以向前搜索,也可以向后搜索,CSS定位只能在文档树中向前搜索,但XPath的定位速度比CSS 慢一些。...本实例的XPath表达式表示查找页面中第二个出现的span中的input元素,即被测试页面上的按钮元素。...有不想使用感觉对路径的定位方式,也没法搞清使用什么序号来定位元素,那么则推荐使用属性值定位元素的方法。 被测试网页的元素一般都包含各种各样的属性值,并且很多属性值具有唯一性。...定位网页中的python: //定位思路: //(1)先定位Java,然后找到Java的父节点li, //(2)然后再找li的兄弟节点,即包含Python的那个li标签, //(3)然后再找li的孩子节点

    3.9K41

    illenium什么水平_尼采读本

    ("//div[contains(@class,'list')]") css_selector 该方法通过CSS选择器去定位查找多个元素 css_selector: 需要被查找的元素的ID find_element_by_css_selector...find_elements_by_name()方法,将会返回所有的具有相同name属性值的一系列元素。...依据标签名tag name查找 利用标签的方法类似于利用类名等方法进行查找。我们可以轻松的查找出一系列的具有相同标签名的元素。例如我们可以通过查找表中的来获取行数。....\ find_element_by_css_selector("div.header-minicart span.icon")...> 需要定位上面示例中的:这里是div中的段落,需要被定位 如下是selenium WebDiriver的代码 ## 查找并定位 iframe element_frame = driver.find_element_by_css_selector

    3.9K20

    快速学Python,走个捷径~

    ("cssVale") 这种方式需要连接 css 的五大选择器 五大选择器 元素选择器 最常见的css选择器便是元素选择器,在HTML文档中该选择器通常是指某种HTML元素,例如: html {background-color...属性选择器 我们可以根据元素的属性及属性值来选择元素,例如: a[href][title] { ...} 派生选择器 它又名上下文选择器,它是使用文档DOM结构来进行css选择的。...但是有时候我们要定位的元素并没有id,name,class属性,或者多个元素的这些属性值都相同,又或者刷新页面,这些属性值都会变化。那么这个时候我们就只能通过xpath或者CSS来定位了。...,从而使得在HTML或XML中查找指定元素变得简单。...scrapy.Selector Selector 是基于parsel,一种比较高级的封装,通过特定的 XPath 或者 CSS 表达式来选择HTML文件中的某个部分。

    1K40

    Selenium元素定位

    定位,具有[相对路径]和[据对路径]的区别: 相对路径:即相对于上下文节点的路径; 绝对路径:即从根目录开始的完整的路径; driver.find_element_by_xpath('//input[@...('/html/body/div[1]/div[1]/div/div[1]/div/form/span[1]/input[@id="kw"]').send_keys("www.testclass.cn"...("span.soutu-btn> input#kw") driver.find_element_by_css_selector("form#form > span > input") css定位,同样具有...('html>body>div>div>div>div>div>form>span>input[id="kw"]').send_keys("www.testclass.cn") #绝对路径#by_css_selector...() 复数定位方式每次取到的都是具有相同类型属性的一组元素,所以返回的是一个list队列.我们可以通过选择具体第几个元素进行单个元素定位; 百度首页右上角有新闻、hao123、地图、视频、贴吧、学术一些文字链接

    1.4K10

    《手把手教你》系列技巧篇(十七)-java+ selenium自动化测试-元素定位大法By css上卷

    xpath定位是“屠龙刀”,那CSS定位就是"倚天剑了",相对CSS来说,具有语法简单,定位速度快等优点。 2.CSS定位优势 CSS定位是平常使用过程中非常重要的一种方式。...: xxx.By.cssSelector("html > body > div >input[value="查询"]") CSS定位表达式使用绝对路径定位属性value的值为“查询”的页面元素。...从CSS定位表达式可以看出,步间通过“>"分割,区别于CSS路径中的正”/“,并且也不再使用@符号选择属性。...[value='查询']") 具体步骤: 在被测试百度网页中,按照宏哥在5.2中的方法 (1)查找输入框并输入“北京宏哥”,(2)查找“百度一下”按钮,(3)点击“百度一下”按钮。...按照宏哥在5.2中的方法 (1)查找输入框并输入“北京宏哥”,(2)查找“百度一下”按钮,(3)点击“百度一下”按钮。

    1.6K40

    python3 爬虫学习:爬取豆瓣读书Top250(三)

    我们在python3 爬虫学习:爬取豆瓣读书Top250(二)中已经爬到我们需要的几个数据,但是代码略显杂乱,输出的结果也并没有跟书本一一对应,所以这节课就要把这些问题统统解决掉。...CSS选择器 点击查看更多CSS选择器的详细介绍 在html的CSS选择器中,用‘#’代表‘id’,用‘.’代表‘class’。...我们使用BeautifulSoup对象的select()方法,将CSS选择器作为参数传入到select()里面,可以把下面的例子改写一下: #查找所有属性为class = 'pl2' 的 div 标签...items = bs.find_all('div' , class_ = 'pl2') for i in items: #查找 class_='pl2' 的 div 标签中的 a 标签 tag...属性的值 link = tag['href'] #字符串格式化,使用\n换行 print('书名:{}\n链接:{}' .format(name , link)) 改写后例子: #查找所有属性为

    1.5K10

    🔥《手把手教你》系列基础篇之3-python+ selenium自动化测试-驱动浏览器和元素定位大法(详细)

    窗口尺寸设置 在测试过程中,我们可能会要求打开浏览器的窗口处于最大化或者设置为某一特定尺寸的大小,所以我们使用selenium驱动浏览器时设定窗口大小 # coding=utf-8 # 1.先设置编码...通过 name 定位输入框: find_element_by_name("wd") find_element_by_name()方法用于元素中 name 属性的定位,百度搜索按钮并没有提供 name 属性...不过,需要强调的是Python 对于中文的支持并不好,如查 Python 在执行中文的地方出现在乱码,可以在中文件字符串的前面加个小“u”可以有效的避免乱码的问题,加 u 的作用是把中文字 符串转换中...= "css selector" ele.click() driver.back() # 查找多个元素的方法 eles = driver.find_elements_by_class_name("...小结   好了,今天python+ selenium-驱动浏览器和元素定位大法就分享到这里。

    1.1K40

    Python 自动化指南(繁琐工作自动化)第二版:十二、网络爬取

    的元素 soup.select('.notice') CSS class属性为notice的所有元素 soup.select('div span') 包含span>的所有div>元素 soup.select...您可以从下载页面的 HTML 文本中创建一个BeautifulSoup对象,然后使用选择器'.package-snippet'来查找具有package-snippet CSS 类的元素中的所有元素...如何查看(在开发者工具中)网页上特定元素的 HTML? 什么样的 CSS 选择器字符串可以找到属性为main的元素?...查找 CSS 类为highlight的元素的 CSS 选择器字符串是什么? 在另一个div>元素中找到所有div>元素的 CSS 选择器字符串是什么?...查找属性设置为favorite的元素的 CSS 选择器字符串是什么? 假设您有一个漂亮的汤Tag对象存储在元素div>Hello, world!div>的变量spam中。

    10K70

    《手把手教你》系列基础篇之3-python+ selenium自动化测试-驱动浏览器和元素定位大法

    窗口尺寸设置 在测试过程中,我们可能会要求打开浏览器的窗口处于最大化或者设置为某一特定尺寸的大小,所以我们使用selenium驱动浏览器时设定窗口大小 # coding=utf-8 # 1.先设置编码...通过 name 定位输入框: find_element_by_name("wd") find_element_by_name()方法用于元素中 name 属性的定位,百度搜索按钮并没有提供 name 属性...不过,需要强调的是Python 对于中文的支持并不好,如查 Python 在执行中文的地方出现在乱码,可以在中文件字符串的前面加个小“u”可以有效的避免乱码的问题,加 u 的作用是把中文字 符串转换中...= "css selector" ele.click() driver.back() # 查找多个元素的方法 eles = driver.find_elements_by_class_name("...小结  好了,今天python+ selenium-驱动浏览器和元素定位大法就分享到这里。

    1.2K40

    Python爬虫项目--爬取某宝男装信息

    3) 下拉看到"男装"字样, 那么再往下找, 并没有发现有关"男装"的商品信息.  4) 任意复制一个商品信息, 空白处右击再点击"查看网页源代码", 在源码查找该商品, 即可看到该商品的信息.  5)...中的商品信息被替换, 这便是采用了JS加密  6) 如果去请求上面的URL, 得到的则是加密过的信息, 这时就可以利用Selenium库来模拟浏览器, 进而得到商品信息. 2....下一步就是点击"搜索"按钮, 按钮具有属性: 可点击, 那么加入判断条件. 1 # -*- coding: utf-8 -*- 2 from selenium import webdriver...27 print(pages) 28 if __name__ == '__main__': 29 main() 关于Selenium的更多内容,可参看官方文档https://selenium-python.readthedocs.io..., "#mainsrp-pager > div > div > div > div.form > span.btn.J_Submit"))) # 若按钮可点击,则获取,否则等待

    98010

    web自动化测试入门篇06 —— 元素定位进阶技巧

    EX:div类选择器 —— 选择具有特定类名的元素。EX:.class (.表示选择类)ID选择器 —— 选择具有特定ID的元素。...EX:#id (#表示选择ID)属性选择器 —— 选择具有特定属性的元素。EX:attribute=value子选择器 —— 选择某个元素的直接子元素。...而后代选择器是可以指定父元素中的任意子元素的,也就是说这个选择器可以选择div元素下所有具有SignFlow-tab类属性的span子元素。...另外就是无论这些span子元素是否直接作为子元素,或者嵌套在更深层次的子元素中,都是可以被后代选择器指定的。...首先 // 是从根节点开始查找,div则是查找下面的所有div元素,然后在所有的div元素中搜索id属性值为ui_automation_t的元素,最后在匹配到的结果中定位下面的所有p元素。

    1.1K40

    【UI自动化-2】UI自动化元素定位专题

    常用定位方式 众所周知,Selenium提供了8种定位方式: id:根据id定位,是最常用的定位方式,因为id具有唯一性,定位准确快捷 name:通过元素的【名称】属性定位,name会存在不唯一的情况...class属性一般是对元素进行样式描述,它有两种定义方式: 定义在HTML文件的【head】标签的【style】标签内 定义在专门的css文件中,用【link】标签对该css文件进行引用 一个元素可以引用多个...在xpath中可以使用属性和属性的值来定位元素,使用属性定位时要以@开头(下面form仅为示例,也可以为div、input等) //form[@id]:表示所有具有属性id的form元素。...//form[@*]:表示所有具有属性的form元素。 //form[not(@*)]:表示所有不具有属性的form元素。 //form[@id="myId"]:表示id值为myId的form元素。...例如,属性id为myId的form元素的后代div元素的span子元素的相邻的第一个弟弟元素input: By.cssSelector("form#myId div>span+input") 7.6 css

    2.2K30

    彻底学会Selenium元素定位

    注意:本文出现的代码示例均以 Python3.10 + Selenium4.5.0 为准,由于网上大多数教程都是Selenium3,Selenium4相比于Selenium3会有一些新的语法,如果你还不了解...开头表示class选择器,或者使用[class='class属性值'] 如果具有多个属性值的class,则需要传入全部的属性值 driver.find_element(By.CSS_SELECTOR,...>span:nth-child(8)>input").send_keys("测试蔡坨坨") driver.find_element(By.CSS_SELECTOR, "form#form>span:nth-child...框架中的base_page模块对Selenium一些常用的API进行二次封装,其中就有对find_element的封装。...,frame中实际上是嵌入了另一个页面,而webdriver每次只能在一个页面识别,因此需要先定位到相应的frame,再对那个页面里的元素进行定位 如果使用xpath或css_selector,请在浏览器开发者工具中调试测试正确后再写入代码中

    8.8K32

    《最新出炉》系列初窥篇-Python+Playwright自动化测试-5-元素定位大法-上篇

    当然除了这些,还有其他定位方法,selenium的8种by元素定位,id、xpath、css等都可使用,还有W3C标准规定的webDriver协议为5种定位方式CSS、Link text、Partial...3.4.1何时使用文本定位器建议使用文本定位器来查找非交互式元素,如div, span, p 等。对于交互式元素,如请button, a, input, 使用角色定位器。...您还可以按文本进行筛选,这在尝试在列表中定位特定项目时很有用。3.5替代文本定位-page.get_by_alt_text()所有图像都应该有一个alt描述图像的属性。...-每天学习一点,今后必成大神-往期推荐:Appium自动化系列,耗时80天打造的从搭建环境到实际应用精品教程测试Python接口自动化测试教程,熬夜87天整理出这一份上万字的超全学习指南Python+Selenium...自动化系列,通宵700天从无到有搭建一个自动化测试框架Java+Selenium自动化系列,仿照Python趁热打铁呕心沥血317天搭建价值好几K的自动化测试框架Jmeter工具从基础->进阶->高级,

    4.4K31
    领券