前提:

大家好,今天我们来学习一下selenium,今天主要讲解selenium定位元素的方法,希望对大家有所帮助!

内容:

一,selenium定位元素

selenium提供了8种方法:

1.id

2.name

3.class name

4.tag name

5.link text

6.partial link text

7.xpath

8.css selector

这8种方法在python中写法为:

1.find_element_by_id()

2.find_element_by_name()

3.find_element_by_class_name()

4.find_element_by_tag_name()

5.find_element_by_link_text()

6.find_element_by_partial_link_text()

7.find_element_by_xpath()

8.find_element_by_css_selector()

二,元素的定位方法

我们以百度为例子,打开开发者模式,查看前端元素

我们的目的是要定位到灰色的那行

1.通过id

driver.find_element_by_id("kw")

2.通过name

driver.find_element_by_name("wd")

3.通过class name

driver.find_element_by_class_name("s_ipt")

4.通过tag name

driver.find_element_by_tag_name("input")

5.通过xpath

driver.find_element_by_xpath("//*[@id='kw']")

driver.find_element_by_xpath("//*[@name='kw']")

driver.find_element_by_xpath("//input[@class='s_ipt']")

driver.find_element_by_xpath("/html/body/form/span/input")

driver.find_element_by_xpath("//span[@class='soutu-btn']/input")

driver.find_element_by_xpath("//form[@id='form']/span/input")

driver.find_element_by_xpath("//input[@id='kw' and @name='wd']")

6.通过css selector

driver.find_element_by_css_selector("#kw")

driver.find_element_by_css_selector("[name=wd]")

driver.find_element_by_css_selector(".s_ipt")

driver.find_element_by_css_selector("html > body > form > span > input")

driver.find_element_by_css_selector("span.soutu-btn> input#kw")

driver.find_element_by_css_selector("form#form > span > input")

因为xpath,css selector比较难,可以去参考链接:

css选择器

xpath语法

python之selenium元素定位方法的更多相关文章

  1. selenium元素定位方法

    一.如何找到页面元素 Webdriver的findElement方法可以用来找到页面的某个元素,最常用的方法是用id和name查找.下面介绍几种比较常用的方法. 1.1By ID 假设页面写成这样:i ...

  2. 【Python】Selenium元素定位错误之解决办法

    当使用class定位元素时发现报错: 错误信息:selenium.common.exceptions.InvalidSelectorException: Message: Compound class ...

  3. selenium元素定位方法之轴定位

    一.轴运算名称 ancestor:祖先结点(包括父结点) parent:父结点 preceding:当前元素节点标签之前的所有结点(html页面先后顺序) preceding-sibling:当前元素 ...

  4. [python爬虫] Selenium常见元素定位方法和操作的学习介绍(转载)

    转载地址:[python爬虫] Selenium常见元素定位方法和操作的学习介绍 一. 定位元素方法 官网地址:http://selenium-python.readthedocs.org/locat ...

  5. python+selenium元素定位——8种方法

    定位元素,selenium提供了8中元素定位方法: (1)find_element_by_id() :html规定,id在html中必须是唯一的,有点类似于身份证号 (2)find_element_b ...

  6. python+selenium笔记(一):元素定位方法

    一.环境准备: 1.浏览器选择:Firefox 2.安装插件:Firebug和FirePath(设置>附加组件>搜索:输入插件名称>下载安装后重启浏览器) 3.安装完成后,页面右上角 ...

  7. python学习之——selenium元素定位

    web自动化测试按步骤拆分,可以分为四步操作:定位元素,操作元素,获取返回结果,断言(返回结果与期望结果是否一致),最后自动出测试报告. 其中定位元素尤为关键,此篇是使用webdriver通过页面各个 ...

  8. Selenium之WebDriver元素定位方法

    Selenium WebDriver 只是 Python 的一个第三方框架, 和 Djangoweb 开发框架属于一个性质. webdriver 提供了八种元素定位方法,python语言中也有对应的方 ...

  9. Selenium Web元素定位方法

    Selenium是用于Web应用测试的自动化测试框架,可以实现跨浏览器和跨平台的Web自动化测试.Selenium通过使用WebDriver API来控制web浏览器,每个浏览器都都有一个特定的Web ...

随机推荐

  1. dstat命令详解

    dstat 如果系统没有些工具 yum -y install dstat安装下即妥,此软件小巧玲珑,软件包大小只有144k,安装大小660k. 此工具默认情况下会动态显示CPU,disk,net,pa ...

  2. 关于create-react-app(react-scripts@3.3.0)升级的坑

    今天用create-react-app my-app,看到下面的提示: A template was not provided. This is likely because you're using ...

  3. Hosts 文件切换工具

    建议删除无用的注释,否则在启用全部的时候会把注释和说明内容的注释取消掉 下载地址:

  4. centos 解决 mysql command not found

    执行命令: mysql -V 报错内容: -bash: mysql: command not found 报错原因:系统默认会查找/usr/bin下的命令,如果这个命令不在这个目录下,当然会找不到命令 ...

  5. 关于topN问题的几种解决方案

    在系统中,我们经常会遇到这样的需求:将大量(比如几十万.甚至上百万)的对象进行排序,然后只需要取出最Top的前N名作为排行榜的数据,这即是一个TopN算法.常见的解决方案有三种: (1)直接使用Lis ...

  6. bzoj4009: [HNOI2015]接水果(整体二分)

    题目描述 风见幽香非常喜欢玩一个叫做 osu!的游戏,其中她最喜欢玩的模式就是接水果.由于她已经DT FC 了The big black, 她觉得这个游戏太简单了,于是发明了一个更加难的版本. 首先有 ...

  7. CloseableHttpClient设置超时

    Java开发我们常常需要和第三方系统进行通信,通信的方式有多种,如dubbo方式,webservice,微服务和CloseableHttpClient等方式,常涉及到超时问题,这里主要说的是Close ...

  8. [转载]ORM-PetaPoco 小型ORM框架

    轻量级ORM-PetaPoco及改进 作者:帮助您   发布:2013-04-26 06:03   分类:软件综合问题   阅读:371次   评论关闭     PetaPoco描述 PetaPoco ...

  9. HDU 6068 - Classic Quotation | 2017 Multi-University Training Contest 4

    /* HDU 6068 - Classic Quotation [ KMP,DP ] | 2017 Multi-University Training Contest 4 题意: 给出两个字符串 S[ ...

  10. Appium Python核心API

    adb命令模拟按键事件 :http://blog.sina.com.cn/s/blog_68f262210102vc1b.html