selenium01

from selenium import webdriver

打开指定的浏览器

driver = webdriver.Chrome()

访问一个网址

driver.get(“http://www.baidu.com”)

id定位

ele = driver.find_element_by_id(“kw”)
class_name定位 注意 参数只能是一个class值 而且返回的是匹配到的第一个元素
driver.find_element_by_class_name(“s_ipt”)
如果想找匹配表达式的所有元素的话
eles = driver.find_elements_by_class_name(“s_ipt”)#这是一个列表
tag_name
driver.find_element_by_tag_name(“input”)
name
driver.find_element_by_name(“rsv_pq”)
针对a元素
driver.find_element_by_link_text(“更多产品”)#精确查找
driver.find_element_by_partial_link_text(“产品”)#模糊查找
‘’’# XPATH
绝对定位 以/ 开头,从根节点开始,严格按照顺序和位置来表达 过度依赖元素的位置,不推荐用
相对定位 以//开头,不管元素的位置和顺序,只在乎在html中有没有匹配表达式的元素 也尽量不要用下标,毕竟还是位置
//标签名[@属性名称=“属性值”] 例如 //input[@name=“ie”] //*[@name=“ie”] *表示所有标签名 如果有多个属性,可以用逻辑运算符 and or
试了下要找百度首页的登录 相对定位找怎么找都是两个 怎么办呢 只能绝对相对一起用 这个方法也叫层级定位
就像这样 //div[@id=“u”]/a[@name=“tj_login” ] 牛逼.JPG
先找到某一个祖先节点,然后再在祖先节点的子孙后代当中查找元素
也可以用文本内容text()函数来定位 就像这样 //div[@id=“u1”]//a[text()=“hao123”]
contains用法: //根结点[contains(@属性,“包含的内容”)] 例如://a[contains(@class,“niubi”)]
如果是文本内容的话,可以是这样://a[contains(text(),“niubi”)]

就像这样 //span[contains(@class,“bg s_btn”)] 如果是文本的话 //span[contains(text(),“bg s_btn”)]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值