1.八种基本定位方式

  id定位,使用方法: driver.find_element_by_id("id")

  name定位,使用方法:driver.find_element_by_name("name")

  class name定位,使用方法:driver.find_element_by_class_name("class name")

  tag name 定位,使用方式:driver.find_element_by_tag_name("tag name")

  link text 定位,使用方式:driver.find_element.by_link_text("link text")

  partial link text定位,使用方式:driver.find_element_by_partial_link_text("partial link text")

  xpath 定位,使用方式:driver.find_element_by_xpath("xpath")

  css selector 定位使用方式:driver.find_element_by_css_selector("css selector")

  以百度为例

  这个是百度搜索输入框的控件信息

  这个是百度一下 按钮的控件信息

 

  使用id定位实例:

  

from selenium import webdriver
driver = webdriver.Chrome()
driver.implicitly_wait(30)
driver.get("https://www.baidu.com/")
driver.find_element_by_id("kw").send_keys("小渣仔")
driver.find_element_by_id("su").click()
driver.close()

  使用name定位:

from selenium import webdriver
driver = webdriver.Chrome()
driver.implicitly_wait(30)
driver.get("https://www.baidu.com/")
driver.find_element_by_name("wd").send_keys("小渣仔")
driver.find_element_by_id("su").click()
driver.close()

  只列出两个实例,剩下的自己体会下。

  小心得:最常用的 是 css、xpath、id 这三个,其它的有时会出现定位不到的问题。xpath 和 css 定位率较高,但是xpath效率慢,推荐使用css定位,定位准确且效率高。

  css定位列子:

from selenium import webdriver
driver = webdriver.Chrome()
driver.implicitly_wait(30)
driver.get("https://www.baidu.com/")
driver.find_element_by_css_selector(".s_ipt").send_keys("小渣仔")
driver.find_element_by_css_selector(".s_btn").click()
driver.close()

  如果定位失败,会给出这个提示:

2.使用定位插件定位

 定位控件的问题,用浏览器自带的的开发者工具,有时无法满足需求,需要使用第三方定位插件来辅助定位,目前主流的定位插件有火狐浏览器的Firebug、firepath、Selenium Builder、Ranorex Selocity等

 本教程只讲Ranorex Selocity的使用,其它插件自行百度使用。

 Ranorex Selocity 下载地址:链接:https://pan.baidu.com/s/1YlgJBlXUD2kcXM667pNZfQ  提取码:olge 

  安装Ranorex Selocity 教程:

  新建一个文件夹任意命名,把下载ranorex selocity 的压缩包文件解压到该文件夹。

  开chrome,地址栏输入chrome://extensions/ ,点击开启开发者模式

  点击加载以解压的扩展程序

选择解压的文件夹,点击确定,右上角出现如下图的图标表示安装完成

使用Ranorex Selocity

  打开浏览器,在地址栏 输入 https://www.baidu.com/

  F12 或者 鼠标右键-检查,打开开发者工具栏,界面如下图

点击 elements,点击选择元素

再点击 Ranorex Selocity

可以看到已经获取了css,xpath,rxpath,点击复制,粘贴到代码里 就可以了。

 

内容来源于网络如有侵权请私信删除
你还没有登录,请先登录注册
  • 还没有人评论,欢迎说说您的想法!