selenium

下载并安装


selenium 安装:cmd中执行 pip install -i https://pypi.douban.com/simple selenium

执行完成后 pip show selenium 可查看安装是否成功

安装浏览器驱动,查看当前浏览器的版本

选择合适的驱动并下载 chrome的链接:https://chromedriver.storage.googleapis.com/index.html

输入python代码,弹出chrome浏览器即标识安装成功

fromseleniumimportwebdriver

browser = webdriver.Chrome()

脚本组成


1.头部导入需要的包
2.获取浏览器驱动 webdriver.Chrome()
3.使用驱动对浏览器进行操作测试
4.关闭浏览器

图形验证码


使用input解决

inputs = driver.find_elements_by_tag_name('input')
foriininputs:
    ifi.get_attribute('placeholder') =="验证码":
        a = input("请输入验证码")
        i.send_keys(a)

常用API


定位

driver.find_element_by_id("")                 #定位根据id,id是全局唯一的
driver.find_element_by_name("")               #定位根据name
driver.find_element_by_class_name("")         #定位根据classname,已重复不建议使用
driver.find_element_by_link_text("")          #使用链接进行定位
driver.find_element_by_tag_name("")           #使用标签定位,且标签必须唯一
driver.find_element_by_xpath("")              #使用xpath定位,一定可以定位到元素
driver.find_element_by_css_selector("")       #使用css selector定位

鼠标事件

click()       #点击定位到的对象
driver.find_element_by_id("details-button").click()
submit()      #提交表单,类似click(),当操作对象的type是submit时可以使用
driver.find_element_by_id("details-button").submit()
#from selenium.webdriver.common.action_chains import ActionChains   ActionChains 类
context_click()      #右击
su1 = driver.find_element_by_id("su")  #先定位好元素
ActionChains(driver).context_click(su1).perform() 
double_click()       #双击
ActionChains(driver).double_click(su1).perform() 
drag_and_drop()      #拖动
target = driver.find_element_by_id("su") 
title = driver.find_element_by_css_selector("#\31 > h3 > a") 
ActionChains(driver).drag_and_drop(title, target).perform()
move_to_element()    #移动,鼠标移至
ActionChains(driver).move_to_element(target).perform()

键盘事件

send_keys("")             #在定位的对象上输入内容
driver.find_element_by_id("password").send_keys("admin")
clear()                   #清除目标对象的输入内容
driver.find_element_by_id("password").clear()
send_keys(Keys.TAB)       #键盘Tab                       from selenium.webdriver.common.keys import Keys
send_keys(Keys.ENTER)     #键盘回车
send_keys(Keys.CONTROL,'A')   #键盘ctrl+a,全选
send_keys(Keys.CONTROL,'X')   #键盘ctrl+x,剪切
send_keys(Keys.CONTROL,'C')   #键盘ctrl+c,复制
send_keys(Keys.CONTROL,'V')   #键盘ctrl+v,粘贴

其他事件

text()                         #获取目标对象的文本信息
text = driver.find_element_by_xpath("//*[@id='root']/section/header/div[1]/ul/li[2]/span/a").text
print(text+" ")
time.sleep(500)                #固定等待500秒           import time
title = driver.title           #打印当前页面title
url = driver.current_url       #打印当前页面url
print("title:"+title,"url:"+url)
​
get("https://www.baidu.com/")  #打开浏览器至xx网址
quit()                         #关闭浏览器

浏览器操作

driver.maximize_window()            #浏览器最大化
driver.minimize_window()            #浏览器最小化
driver.set_window_size(400,500)     #设置浏览器大小宽400高500
driver.back()                       #浏览器返回上一个页面
driver.forward()                    #浏览器到下一个页面
#浏览器滚动条到最下方
js = "var q=document.documentElement.scrollTop = 10000"
driver.execute_script(js)
#浏览器滚动条到最上方
js="var q=document.documentElement.scrollTop = 0"
driver.execute_script(js)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值