首页 > 代码库 > Selenium-几种元素定位方式
Selenium-几种元素定位方式
#识别元素并操作
#一般有如下几种方法,其中id最为常用.这里需要注意识别元素一定要用唯一id
1.find_element_by_id("value")
#! /usr/bin/env python #coding=utf-8 from selenium import webdriver import time url = "http://www.baidu.com" driver = webdriver.Firefox() driver.get(url) time.sleep(5) driver.find_element_by_id("kw").send_keys("博客园") #模拟表单的提交按钮操作,新版百度搜索不需要这个了,他会自动搜索,再次看出ui的维护成本很高 #driver.find_element_by_id("kw").submit()
2.find_element_by_name("value")
#driver.find_element_by_name("wd").send_keys("博客园")
3.find_element_by_class_name("value")
#driver.find_element_by_class_name("s_ipt").send_keys("博客园")
4.find_element_by_link_text("value‘)
driver.get(url) driver.find_element_by_link_text("新闻").click() time.sleep(5) #对于超级连接比较长的可以尝试采用下面的方法,类似一种模糊匹配 driver.find_element_by_partial_link_text("首页").click() time.sleep(5)
5.#xpath神器,理论上来说,没有path定位不到的元素
#这里使用firepath查看
#xpath你理解为树形结构就OK,我们也可以通过类似上下级的关系来一层层定位
#! /usr/bin/env python #coding=utf-8 from selenium import webdriver import time url = "http://www.baidu.com" driver = webdriver.Firef driver.get(url) driver.find_element_by_xpath(".//*[@id=‘kw‘]").send_keys("博客园") #driver.find_element_by_id("su").submit() time.sleep(5) driver.find_element_by_id("kw").clear() time.sleep(5) #返回 driver.back() time.sleep(5)
#! /usr/bin/env python #coding=utf-8 from selenium import webdriver import time url = "http://www.baidu.com" driver = webdriver.Firef driver.get(url) driver.find_element_by_xpath(".//*[@id=‘kw‘]").send_keys("博客园") #driver.find_element_by_id("su").submit() time.sleep(5) driver.find_element_by_id("kw").clear() time.sleep(5) #返回 driver.back() time.sleep(5)
6.利用两个元素属性进行唯一定位 and or,只适用于xpath
driver.find_element_by_xpath(".//*[@id=‘kw‘ and @name=‘wd‘]").send_keys("博客园") time.sleep(5)
7.#当父类有多个一样的子类的时候,可以通过下标来定位,从1开始
#以搜索设置里的结果显示条数为例
driver.get("http://www.baidu.com/gaoji/preferences.html") time.sleep(5) #driver.find_element_by_xpath(".//*[@id=‘nr‘]/option[3]").click() #除此之外还可以怎么定位? driver.find_element_by_xpath(".//option[@value=http://www.mamicode.com/‘50‘]").click() time.sleep(5)
Selenium-几种元素定位方式
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。