Selenium_1.元素定位方法

Selenium

selenium基本操作

selenium基本操作: 刷新,前进,后退,获取窗口大小,设置窗口大小,切换窗口,关闭,退出
简单是登录的数据驱动
元素定位: 对于web自动化来说,就是操作页面上各种元素,在操作元素之前,找到元素,定位元素
目的: 找到某个页面上唯一的元素

常用有8中定位元素的方法:
通常来说 id是唯一的,也是最稳定的,有id,首选用id来定位的;当然有时候页面上的元素是动态变化的,所以会采用其他元素
id: browser.find_element_by_id(self,id)
name: browser.find_element_by_name(self,name)
class_name: browser.find_element_by_class_name(self,name)
tag_name: browser.find_element_by_tag_name(self,name)
link_text: browser.find_elements_by_link_text(self,link_text)
partial_link_text:browser.find_element_by_partial_link_text(self,link_text)
css_selector: browser.find_elements_by_css_selector(self,classname)
xpath: browser.find_element_by_xpath(self,xpath)

特殊元素:
svg(可伸缩矢量图形)、frame

name='svg'  ://*[name()='svg']  
绝对路径定位:

优点:快速定位
缺点:当页面父级元素发生改变,也会导致xpath发生

相对路径定位:

优点:长度和标签开始的位置不受限制,灵活,而且稳定,万能

符号含义格式
/…表示找上级//*[@name=‘password’]/…/…/p[2]/input
/表示找下级/
@表示根据元素的属性定位/
text():文本值//*[text()=‘练习鼠标拖拽’]
*任意的标签名//*[@placeholder=‘密码’]
contains模糊查找//*[contains(@什么属性,‘属性值’)]
starts-with以什么开始//*[starts-with(@class,‘success’)]

登录实例:

from selenium.webdriver.common.keys import Keys
browser.find_element_by_link_text('登录').click()  #点击 “登录按钮”
browser.find_element_by_xpath('//input[@name="username"]').send_keys('123456789') #输入密码
import time
time.sleep(2)
browser.find_element_by_xpath('//input[@name="username"]').send_keys(Keys.TAB)  #按下键盘TAB
time.sleep(2)
browser.find_element_by_xpath('//input[@name="password"]').send_keys('123456') #输入密码
time.sleep(2)
browser.find_element_by_xpath('//input[@name="password"]').send_keys(Keys.ENTER)#按下键盘enter
  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值