8 其他操作(获取窗口属性、弹出框、上传文件、截图)
参考:http://www.testclass.net/selenium_python/ 更详细
鼠标悬停
wd.implicitly_wait(5)
wd.get('https://www.baidu.com/')
from selenium.webdriver.common.action_chains import ActionChains
ac = ActionChains(wd)
# 鼠标移动到 元素上
ac.move_to_element(wd.find_element_by_css_selector('[name="tj_briicon"]')).perform()
ActionChains 类提供了鼠标操作的常用方法:
- perform(): 执行所有 ActionChains 中存储的行为;
- context_click(): 右击;
- double_click(): 双击;
- drag_and_drop(): 拖动;
- move_to_element(): 鼠标悬停。
弹出对话框
弹出的对话框有三种类型,分别是 Alert(警告信息)、confirm(确认信息)和prompt(提示输入)
alert:
driver.switch_to.alert.accept()
获取弹出对话框中的信息内容: driver.switch_to.alert.text
confirm:
Confirm弹出框,主要是让用户确认是否要进行某个操作。
有两个选择供用户选择,分别是 OK 和 Cancel, 分别代表 确定 和 取消 操作。
确定:driver.switch_to.alert.accept()
取消:driver.switch_to.alert.dismiss()
prompt:
出现 Prompt 弹出框 是需要用户输入一些信息,提交上去
wd.find_element_by_id('b3').click() #点击
wd.switch_to.alert.send_keys('python web') #输入内容
wd.switch_to.alert.accept() #确定
wd.switch_to.alert.dismiss() #取消
获取窗口的属性
窗口大小:wd.get_window_size()
改变窗口大小:wd.set_window_size(x, y)
获取窗口标题:wd.title
获取窗口URL:wd.current_url
截屏
截屏并保存为文件: wd.get_screenshot_as_file('1.png')
保存在桌面 。wd.get_screenshot_as_file(r'd:\1.png') #指定路径
上传文件
wd.get('https://tinypng.com/')
ele = wd.find_element_by_css_selector('input[type=file]')
ele.send_keys(r'd:\1.png')
ele.send_keys(r'd:\2.png')
js: