当前位置: 首页 > news >正文

永久网站建设/爱站seo查询

永久网站建设,爱站seo查询,建一个企业网站要花多少钱,深圳特区报webdriver是: WebDriver是Selenium体系中设计出来操作浏览器的一套API,可支持多种编程语言,对于Python来说,可以将WebDriver视为Python的一个用于实现Web自动化的第三方类库。 WebDriver一共提供了八种元素定位方法,我…

webdriver是:
WebDriver是Selenium体系中设计出来操作浏览器的一套API,可支持多种编程语言,对于Python来说,可以将WebDriver视为Python的一个用于实现Web自动化的第三方类库。

WebDriver一共提供了八种元素定位方法,我们以百度输入框和百度搜索框为例来学习,

百度输入框和百度搜索按钮的代码如下:

<inputid=”kw”  class=”s_ipt”  autocomplete=”off”  maxlength=100” value=”“  name=”wd”>
<input id=”su”  class=”bg s_btn”  type=”submit” value=”百度一下”>

1、id定位
HTML规定id属性在HTML文档中必须是唯一的,WebDriver提供的id定位方法就是通过元素的id属性来查找元素。通过id定位百度输入框与搜索按钮,用法如下:

find_element_by_id(“kw”)
find_element_by_id(“su”)

2、name定位
HTML规定name来指定元素的名称,name的属性值在当前页面可以不唯一。通过name定位百度输入框:

find_element_by_name(“wd”)
find_elements_by_name(“wd”)[索引]

3、. By.className()
使用className来进行元素定位时,有时会碰到一个元素指定了若干个class属性值的“复合样式”的情况,出现这种情况必须指定其中一个class属性,不然就会报错:

<button name="sampleBtnName" id="sampleBtnId" class="buttonStyle">I'm Button</button>
browser.find_elements_by_class_name("buttonStyle")

4、tag定位
该方法可以通过元素的标签名称来查找元素。该方法跟之前两个方法的区别是,这个方法搜索到的元素通常不止一个,所以一般建议结合使用findElements方法来使用。比如我们现在要查找页面上有多少个button,就可以用button这个tagName来进行查找,

find_elements_by_tag_name(input)[索引]

5、By.linkText()
这个方法比较直接,即通过超文本链接上的文字信息来定位元素,这种方式一般专门用于定位页面上的超文本链接。通常一个超文本链接会长成这个样子:

<a href="http://news.baidu.com" target="_blank"class="mnav">新闻</a>
<a href="http://www.hao123.com" target="_blank"class="mnav">hao123</a>
通过link定位链接如下:
find_element_by_link_text(“新闻”)
find_element_by_link_text(“hao123”)

6、partial link定位
parial link定位是对link定位的一种补充,有些文本链接会比较长,这个时候我们可以取文本链接的一部分定位,只要这一部分信息可以唯一地标识这个链接。通过partial link定位百度首页的文本链接的代码如下:

find_element_by_partial_link_text(“新”)
find_element_by_partial_link_text(“hao”)

注意:使用这种方法进行定位时,可能会引起的问题是,当你的页面中不止一个超链接包含About时,findElement方法只会返回第一个查找到的元素,而不会返回所有符合条件的元素。如果你要想获得所有符合条件的元素,还是只能使用findElements方法。通过索引
7、XPath定位
这个方法是非常强大的元素查找方式,使用这种方法几乎可以定位到页面上的任意元素。在正式开始使用XPath进行定位前,我们先了解下什么是XPath。XPath是XML Path的简称,由于HTML文档本身就是一个标准的XML页面,所以我们可以使用XPath的语法来定位页面元素。
假设我们现在以图(2)所示HTML代码为例,要引用对应的对象,XPath语法如下:
在这里插入图片描述
绝对路径写法(只有一种),写法如下:
引用页面上的form元素(即源码中的第3行):/html/body/form[1]
注意:

  1. 元素的xpath绝对路径可通过firebug直接查询。
  2. 一般不推荐使用绝对路径的写法,因为一旦页面结构发生变化,该路径也随之失效,必须重新写。
  3. 绝对路径以单/号表示,而下面要讲的相对路径则以//表示,这个区别非常重要。另外需要多说一句的是,当xpath的路径以/开头时,表示让Xpath解析引擎从文档的根节点开始解析。当xpath路径以//开头时, 则表示让xpath引擎从文档的任意符合的元素节点开始进行解析。而当/出现在xpath路径中时,则表示寻找父节点的直接子节点,当//出现在xpath路径中时,表示寻找父节点下任意符合条件的子节点,不管嵌套了多少层级。弄清这个原则,就可以理解其实xpath的路径可以绝对路径和相对路径混合在一起来进行表示,想怎么玩就怎么玩。
  4. 验证xpath的对错,我们需要在页面按“CTRL+F”,把定位路径填写,来检验定位的准确性
    在这里插入图片描述

(1)查找页面上id为loginForm的form元素:

//form[@id='loginForm']

(2)逻辑运算:查找页面上具有name属性为username,且id为loginForm的input元素:

//input[@name='username' and @id='loginForm']

(3)层级定位
在这里插入图片描述

//div[@id="u1"]/a[@name="tj_login"]

/表示“儿子”,//表示孙子
(4)函数定位
a、用Text关键字,定位代码如下:
在这里插入图片描述

//div[@id="u_sp"]/a[text()="地图"]

b、用contains关键字,contains@属性/text(),value
在这里插入图片描述

//span[@id="s_menu_mine"]/div[contains(@class,"mine-text")]

(5)轴定位:轴定位学习连接

8、By.cssSelector()

  1. 根据 标签定位 tagName(定位的是一组,多个元素)

    find_element_by_cssSelector(“div”)

  2. 根据 id属性定位(注意id使用#表示

    find_element_by_cssSelector("#eleid")

    find_element_by_cssSelector(“div#eleid”)

  3. 根据className属性定位(注意class属性使用.)

    find_element_by_cssSelector(“div.eleclass”)

  4. 根据元素属性定位

    4.1 精确匹配:

    find_element_by_cssSelector(“div[name=elename]”) 属性名=属性值,精确值匹配

    4.2 模糊匹配

    find_element_by_cssSelector(“div[name^=elename]”) 从起始位置开始匹配

    find_element_by_cssSelector(“div[name$=name2]”) 从结尾匹配

    find_element_by_cssSelector(“div[name*=name1]”) 从中间匹配,包含

    4.3 多属性匹配

    find_element_by_cssSelector(“div[type='eletype][value=‘elevalue’]”) #同时有多属性

    find_element_by_cssSelector("div.eleclsss[name=‘namevalue’] #选择class属性为eleclass并且name为namevalue的div节点

    find_element_by_cssSelector("div[name=‘elename’][type=‘eletype’]:nth-of-type(1) #选择name为elename并且type为eletype的第1个div节点

还有很多复杂的定位方式,大家可以去学习

http://www.lbrq.cn/news/1405189.html

相关文章:

  • 想买个服务器做网站/网络黄页推广软件哪个好
  • 潍坊营销型网站建设/中国销售网
  • 国际大型门户网站/外贸定制网站建设电话
  • 网站开发工作程序怎么写/国外网站推广公司
  • 广州荔湾做网站公司/百度搜索关键词规则
  • 用自己的电脑做网站需要备案吗/百度一下百度官网
  • 手机自助建站永久免费/百度搜首页
  • 怎么下载字体到wordpress/seo 优化 工具
  • 网站没有域名设置/企业品牌营销推广
  • 网站建设适合手机/关于搜索引擎的搜索技巧
  • 做图片详情网站/杭州百家号优化
  • 怎样自己做网站/廊坊百度推广seo
  • 可以加外链的网站/整合营销传播案例分析
  • 哪个网站是教人做淘宝客的/宝鸡seo外包公司
  • 网站营销推广怎么做网络营销推广/重庆seo论坛
  • 全国企业营业执照查询/网络营销乐云seo
  • 男女做污视频在线观看网站/saas建站
  • 唐山做网站公司哪家好/上海平台推广的公司
  • java做商城网站可以吗/网站测速工具
  • 一个网站做几个关键词/网站优化推广费用
  • 怎么利用招聘网站做薪酬调查/cba排名最新排名
  • 怎么做公司网站竞价/网络推广代理怎么做
  • joomla做类似赶集网的网站/网站注册步骤
  • 做网站1天转多钱/广州百度搜索优化
  • 织梦珠宝网站模板/软文营销步骤
  • 网站翻译建设/什么是百度竞价排名
  • 手机如何免费做网站/深圳优化服务
  • asp access 手机站 用于做微网站/竞价外包托管费用
  • 网页设计的基本元素/seo关键字优化教程
  • 做印刷的有什么网站/网络维护培训班
  • word如何转换为pdf
  • Python + 淘宝 API 开发:自动化采集商品数据的完整流程​
  • Lua学习记录 - 自定义模块管理器
  • 特种行业许可证识别技术:通过图像处理、OCR和结构化提取,实现高效、准确的许可证核验与管理
  • IDE开发系列(2)扩展的IDE框架设计
  • 1. Docker的介绍和安装