selenium自动化介绍

定位元素的介绍在之前的文章已介绍过:https://blog.youkuaiyun.com/manfred1010/article/details/111302139

现在,我们可以让网页元素自动化做点什么了。

页面交互
点击超链接
链接内容

element=driver.find_element_by_link_text("链接文字")
element.click()  #单击

文本框:

element.send_keys("some text") #在文本元素中输入"some text"

也可以:

element.clear()  #清空内容

下拉框:
selenium有专门的类处理。

from selenium.webdriver.support.ui import Select

select = Select(element)
select.select_by_index(index) ## 通过选项的顺序选择,第一个为 0
select.select_by_value("1") # 选择value="1"的项:通过value的值
select.select_by_visible_text("第一项") # 选择text="第一项"的值,即在下拉时显示的文本

当然可以取消选择:

deselect_by_index(index) 
deselect_by_value(value) 
deselect_by_visible_text(text) 
deselect_all()

Select提供了三个属性方法提供信息:

options ——提供所有的选项的列表,其中都是选项的WebElement元素

options = select.options

all_selected_options ——提供所有被选中的选项的列表,其中也均为选项的WebElement元素

first_selected_option ——提供第一个被选中的选项,也是下拉框的默认值

如果是表单 ,可以用select.submit() 来提交。

通过Select提供的方法和属性,我们可以对标准select下拉框进行任何操作,但是对于非select标签的伪下拉框,需要使用XPath定位;

窗口的操作:

for handle in driver.window_handles:
    print(handle)  #获取窗口句柄
driver.switch_to_window(handle) #切换到指定窗口
driver.refresh()  #刷新页面
driver.set_window_size()  #设置窗口大小
driver.close()  #关闭窗口,只能关闭用driver打开的窗口
driver.quit()  #关闭浏览器
driver.switch_to_frame("frameName")
driver.switch_to_default_content()  #回到主frame

窗口滚动条
通过执行javascript设置浏览器窗口的滚动条位置

drive.execute_script('window.scrollTo(0, 500)')  #滚动到500的位置
drive.execute_script('window.scrollTo(0, document.body.scrollHeight)') #滑到最底部

访问弹出对话框:

driver.switch_to_alert()

浏览历史前进后退

driver.forward()
driver.back()

操作Cookies

get_cookies() 获得所有cookie信息 get_cookie(name) 返回字典的key为“name”的cookie信息
add_cookie(cookie_dict) 添加cookie。“cookie_dict”指字典对象,必须有name 和value 值
delete_cookie(name,optionsString) 删除cookie信息。“name”是要删除的cookie的名称,“optionsString”是该cookie的选项,目前支持的选项包括“路径”,“域”
delete_all_cookies() 删除所有cookie信息

driver.add_cookie(cookie)  #添加cookies
driver.get_cookie() #获取当前页cookies

无界面浏览器操作

from selenium import webdriver
from selenium.webdriver.chrome.options import Options
 
# 1.创建一个参数对象,用来控制chrome以无界面模式打开
chrome_options = Options()
chrome_options.add_argument('--headless')
chrome_options.add_argument('--disable-gpu')
 
# 2.创建浏览器对象
drive = webdriver.Chrome(executable_path='chromedriver.exe', chrome_options=chrome_options)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值