web自动化之selenium定位

定位元素的前提:需要定位的元素或它的属性必须唯一

xpath包含绝对路径/和相对路径//

八大元素定位方式,分别是:id、name、class_name、tag_name、link_text、partial_link_text、xpath、css

# id定位
#driver.find_element_by_id("kw").send_keys("周杰伦")
driver.find_element(By.ID,"kw").send_keys("周杰伦") 

# name定位
driver.find_element(By.NAME,"wd").send_keys("周杰伦")

# link_text定位
driver.find_element(By.LINK_TEXT, "新闻").click() 

# partial_link_text定位
driver.find_element(By.PARTIAL_LINK_TEXT, "闻").click() 

# xpath定位(绝对路径'/'(copy Full Xpath,一级一级递进)-绝对路径基本不用、相对路径'//'(非一级一级递进))
#1、相对路径+索引定位
driver.find_element(By.XPATH, "//form/span[1]/input").send_keys("周杰伦") 
#2、相对路径+属性定位 
driver.find_element(By.XPATH, "//input[@autocomplete='off']").send_keys("周杰伦") 
#3、相对路径+通配符定位 #driver.find_element(By.XPATH, "//*[@autocomplete='off']").send_keys("周杰伦") 
driver.find_element(By.XPATH, "//*[@*='off']").send_keys("周杰伦") 
#4、相对路径+部分属性值定位
driver.find_element(By.XPATH, "//*[starts-with(@autocomplete,'of')]").send_keys("周杰伦") 
driver.find_element(By.XPATH, "//*[substring(@autocomplete,2)='ff']").send_keys("周杰伦") 
driver.find_element(By.XPATH, "//*[contains(@autocomplete,'o')]").send_keys("周杰伦") 
#5、相对路径+文本定位 
value = driver.find_element(By.XPATH, "//span[text()='按图片搜索']").get_attribute('class') 
print(value)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值