selenium 所有基本用法

他就是打开一个浏览器,对浏览器进行完全的控制.所有的数据获取通过js实现,它有一个js的控制台,js可以控制浏览器数据.

目录

 准备工作:

文本操作:

浏览器界面操作:

鼠标操作:

键盘操作:

弹框操作:

下拉框选择:

文件上传:

cookie操作:

调用JavaScript代码:

窗口截图:

关闭浏览器:


 准备工作:

引入所需代码块:

from selenium import webdriver

创建浏览器对象(打开):

driver = webdriver.Firefox()   # Firefox浏览器
       # driver = webdriver.Firefox("驱动路径")

driver = webdriver.Chrome()    # Chrome浏览器

driver = webdriver.Ie()        # Internet Explorer浏览器

driver = webdriver.Edge()      # Edge浏览器

driver = webdriver.Opera()     # Opera浏览器

driver = webdriver.PhantomJS()   # PhantomJS

设置浏览器大小:可选择是否使用。

driver.set_window_size(480, 800)

文本操作:

 输入:

driver.find_element_by_id("kw").send_keys("selenium") # 模拟按键输入

点击:

driver.find_element_by_id("su").click() # 单击元素

清除文本:

driver.find_element_by_id("kw").clear() # 清除文本

提交:

search_text = driver.find_element_by_id('kw') 

search_text.send_keys('selenium') 

search_text.submit()

获取文本:

driver.find_element_by_id("kw").text()     获取元素的文本。
 
#is_displayed()    是否可见

浏览器界面操作:

  • 浏览器后退,前进:

        

driver.back()     #后退 

driver.forward()  #前进
  • 刷新
driver.refresh() # 刷新

鼠标操作:

perform(): 执行所有 ActionChains 中存储的行为;

context_click(): 右击;

double_click(): 双击;

drag_and_drop(): 拖动;

move_to_element(): 鼠标悬停

键盘操作:

send_keys(Keys.BACK_SPACE)          删除键(BackSpace)
send_keys(Keys.SPACE)               空格键(Space)
send_keys(Keys.TAB)                 制表键(Tab)
send_keys(Keys.ESCAPE)              回退键(Esc)
send_keys(Keys.ENTER)               回车键(Enter)
send_keys(Keys.CONTROL,'a')         全选(Ctrl+A)
send_keys(Keys.CONTROL,'c')         复制(Ctrl+C)
send_keys(Keys.CONTROL,'x')         剪切(Ctrl+X)
send_keys(Keys.CONTROL,'v')         粘贴(Ctrl+V)
send_keys(Keys.F1) 键盘 F1
……
send_keys(Keys.F12) 键盘 F12

弹框操作:

alert = driver.switch_to_alert()



text:返回 alert/confirm/prompt 中的文字信息。
accept():接受现有警告框。
dismiss():解散现有警告框。
send_keys(keysToSend):发送文本至警告框。keysToSend:将文本发送至警告框。

下拉框选择:

from selenium import webdriver
from selenium.webdriver.support.select import Select
from time import sleep

driver = webdriver.Chrome()
driver.implicitly_wait(10)
driver.get('http://www.baidu.com')
sel = driver.find_element_by_xpath("//select[@id='nr']")
Select(sel).select_by_value('50')  # 显示50条

文件上传:

driver.find_element_by_name("file").send_keys('D:\\upload_file.txt') 


# 定位上传按钮,添加本地文件

cookie操作:

WebDriver操作cookie的方法:

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信息

调用JavaScript代码:

js="window.scrollTo(100,450);"

driver.execute_script(js) # 通过javascript设置浏览器窗口的滚动条位置

窗口截图:

driver.get_screenshot_as_file("D:\\baidu_img.jpg") 

# 截取当前窗口,并指定截图图片的保存位置

关闭浏览器:

close() 关闭单个窗口

quit() 关闭所有窗口

参考:学习资料来源于

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值