webdriver API初识

1.脚本整体解析

在这里插入图片描述

2.WebDriver八种元素定位方式

定位方式有很多,但是要保证这种方式存在并且能都唯一的定位到这个元素
不管用哪种方式,必须保证页面上该属性的唯一性
webdriver提供了一系列的对象定位方法,常用的有

id

name

class name

link text

partial link text

tag name

xpath

css selector

如果元素的id存在,id一定可以唯一定位到这个元素的
如果没有id,xpath也可以唯一定位这个元素
以下是不同元素定位方式的代码

from selenium import webdriver
import time
driver = webdriver.Chrome()
driver.get("https://www.baidu.com/")
#浏览器最大化
driver.maximize_window()

#用id来定位
driver.find_element_by_id("kw").send_keys("雪中悍刀行")
driver.find_element_by_id("su").click()

# 用name定位
driver.find_element_by_name("wd").send_keys("徐凤年")
driver.find_element_by_id("su").click()

# class name 元素属性,可能不唯一
driver.find_element_by_class_name("s_ipt nobg_s_fm_hover").send_keys("青岛")
driver.find_element_by_class_name("btn self-btn bg s_btn btn_h btnhover").click()

# link text  链接文本内容/ partial link text部分链接内容    要保证全局唯一性
driver.find_element_by_link_text("hao123").click()
driver.find_element_by_partial_link_text("新").click()

# tag name 必须唯一,input标签太多,定位不到
driver.find_element_by_tag_name("input").send_keys("徐凤年")
driver.find_element_by_tag_name("input").click()

# xpath  唯一定位页面元素, 如果没有唯一定位元素,用xpath可以唯一定位,双引号里应该是单引号
driver.find_element_by_xpath("//*[@id='kw']").send_keys("徐脂虎")
driver.find_element_by_xpath("//*[@id='su']").click()

# Css selector
driver.find_element_by_css_selector("#kw").send_keys("徐渭熊")
driver.find_element_by_css_selector("#su").click()

time.sleep(6)
driver.quit()       #关闭浏览器

3.操作测试对象(对元素的操作)

webdriver中比较常用的操作对象的方法有下面几个

click

点击对象

send_keys

在对象上模拟按键输入

clear

清除对象的内容,如果可以的话

from selenium import webdriver
import time

driver = webdriver.Chrome()
driver.get("https://www.baidu.com/")
time.sleep(3)
driver.maximize_window()

# 先搜徐渭熊
driver.find_element_by_css_selector("#kw").send_keys("徐渭熊")
driver.find_element_by_css_selector("#su").click()
time.sleep(6)
#清除徐渭熊
driver.find_element_by_id("kw").clear()
time.sleep(5)
driver.find_element_by_id("kw").send_keys("徐骁")
driver.find_element_by_id("su").click()
time.sleep(6)
driver.quit()

submit

提交搜索信息

text

用于获取元素的文本信息
先去页面定位元素“bottom_layer”

# 获取文本信息
text = driver.find_element_by_id("bottom_layer").text
print(text)

在这里插入图片描述

4.等待

固定等待

time.sleep(10)让页面按照规定的时间等待

智能等待

driver.implicitly_wait(10)

5.关闭浏览器

driver.close()

关闭浏览器

driver.quit()

不仅关闭浏览器,还可以清除缓存,建议用这个

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值