Selenium API操作—标题、控制浏览器、动作时间、鼠标键盘事件、控件属性获取、三种时间等待方法、多窗口切换、弹出框操作、截图操作、iframe控件操作、select类处理下拉框和时间选择类操作

1、标题获取

title=driver.title
print(title)

2、获取页面url

url=driver.current_url
print(url)

3、控制浏览器

(1)页面回退

driver.back()

(2)页面前进

driver.forward()

(3)页面刷新

driver.refresh()

(4)控制浏览器尺寸大小

driver.set_window_size(1200,800)

(5)最大化浏览器

driver.maximize_window()

4、动作事件

(1)输入内容

el=find_element_by_css_selector('#su')
el.send_keys('python')

(2)清空输入的内容

el=find_element_by_css_selector('#su')
el.clear()

(3)点击页面内容

el=find_element_by_css_selector('#su')
el.click()

5、控件的属性获取

(1)获取控件尺寸大小

size=driver.find_element_by_css_selector('#kw').size
print(size)

返回一个字典,包括宽和高的值。

(2)获取控件的文本内容

text=driver.find_element_by_css_selector('#su').text
print(text)

(3)获取控件默认文案

place=driver.find_element_by_css_selector('#_allSearchKeyword').get_attribute('placeholder')
print(place)

(4)获取链接地址

href=driver.find_element_by_css_selector('#nav_trains').get_attribute('href')
print(href)

6、判断控件是否加载成功

href=driver.find_element_by_css_selector('#nav_trains').get_attribute('href')
print(href)

返回布尔值。

7、鼠标事件

需要导入:from selenium.webdriver.common.action_chains import ActionChains

(1)移动鼠标

ele=driver.find_element_by_css_selector('#nav_trains')
ActionChains(driver).move_to_element(ele).perform()

(2)右击鼠标

ele=driver.find_element_by_css_selector('#nav_trains')
ActionChains(driver).context_click(ele).perform()

(3)双击鼠标

ele=driver.find_element_by_css_selector('#nav_trains')
ActionChains(driver).double_click(ele).perform()

8、键盘事件

电脑键盘中的按键,主要针对输入框。

导入keys类;

from selenium.webdriver.common.keys import Keys

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

9、三种时间等待方法

(1)默认等待时间

import time
time.sleep(10)#设置10秒,页面休眠10秒

(2)隐式等待时间

#要操作的控件用了几秒,就等待几秒
driver.implictity_wait(10)#设置最大等待时间

(3)显示等待时间

#导入
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
ele=WebDriverWait(driver,5,0.5).until(EC.presence_of_element_located(By.CSS_SELECTOR,'#nav_trains'))
#最大等待时间为5秒,每隔0.5秒检测一次,直到页面加载出了后面定位的控件。

 WebDriverWait一般与until和until_not配合使用,until_not是直到页面不存在这个控件。

10、多窗口切换

print(driver.window_handles)获取所有窗口信息,返回列表信息
print (driver.current_window_handle)获取当前窗体的焦点
driver.switch_to.window(driver.window_handles[1])窗体焦点切换,从0开始
driver.close()关闭当前焦点所在的窗体
driver.quit()关闭所有窗体
from selenium import webdriver
import time
driver=webdriver.Chrome()
driver.get('http://www.baidu.com')
driver.find_element_by_id('kw').send_keys("123")
driver.find_element_by_id('su').click()
driver.maximize_window()
print(driver.window_handles)
time.sleep(5)
driver.find_element_by_partial_link_text("123网址").click()
time.sleep(5)
dd=driver.window_handles
print(driver.window_handles)# 获取所有窗口信息,返回列表信息
print(driver.current_window_handle)# 获取当前窗体的焦点
driver.switch_to_window(driver.window_handles[1])# 窗体焦点切换
time.sleep(5)
driver.close()#关闭当前焦点所在的窗体

11、弹出框操作

弹窗框分为3类:

只有文字和确定按钮;只有文字、确定和取消按钮;有文字、输入框和确定取消按钮。

driver.switch_to.alert.send_keys(“test”)给输入框输入内容
print(driver.switch_to.alert.text)获取弹出框文字
driver.switch_to.alert.accept()点击确定按钮
driver.switch_to.alert.dismiss()点击取消按钮

12、截图操作

driver.get_screenhot_as_file(“自己电脑的路径/图片名称.png”)建议用png格式
from selenium import webdriver
import time
driver=webdriver.Chrome()
driver.maximize_window()
driver.get("https://www.ctrip.com/")
time.sleep(5)
driver.get_screenshot_as_file("E:/test.png")

13、iframe控件操作

iframe控件:在html里面插入了一层html,插入的形式就是iframe。

定位方式:

(1)iframe有固定属性值的id或者name(不能为空或者是变化的),用driver.switch.to.frame(‘id或者name的属性值’);

driver.switch_to.frame('x-URS-iframe')

(2)先用xpath定位,再切换到iframe;

dd=driver.find_element_by_xpath("//div[@id='loginDiv']/iframe")
driver.switch_to.frame(dd)

driver.switch_to.parent_frame()#从子frame切回父frame
driver.switch_to.default_content()#切回主文档

14、select类处理下拉框

只能处理select标签。

导入类:from selenium.webdriver.support.select import Select

选择方式有三种:

(1)Select(el).select_by_visible_text(“选择内容”)通过可见的内容去选择

(2)Select(el).select_by_index(3)从0开始

(3)Select(el).select_by_value(5)直接选择value的值

15、时间选择类

from selenium import webdriver
import time
d=webdriver.Chrome()
d.implicitly_wait(5)
d.maximize_window()
d.get("https://www.ctrip.com/")
time.sleep(10)
ele=d.find_element_by_id("HD_CheckIn")#定位控件
ele.clear()
ele.send_keys("2020-08-17")#输入时间
eleout=d.find_element_by_id("HD_CheckOut")#定位控件
eleout.clear()
eleout.send_keys('2020-08-18')#输入时间
time.sleep(5)
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值