获取当前窗口title
driver.title
获取当前窗口地址栏url
driver.current_url
窗口内容标题更新时,title和current_url也会随之而更新
页面更新时,可以通过查找更新页面的元素来判断页面加载完成,此时获取的title或url为新页面的title或url
截屏:
截取整个页面:driver.get_screenshot_as_file(img_path)
截取单个元素: web_element screenshot(img_path)
# img_path是图片路径,类型str
切换窗口:
driver.switch_to.window(handle)
如何获取handle?
通过driver.window_handles 方法获取当前浏览器所有窗口的handle
通过循环切换窗口判断标题的方法来确定当前窗口是否为目标窗口
保留当前窗口handle:
driver.current_window_handle
关闭窗口的方法: driver.close() 用于关闭当前窗口
对话框处理:
driver.switch_to.alert
| 点击ok | 获取文本 | 点击cancel | 输入内容 |
alert | accept() | text | N/A | N/A |
confirm | accept() | text | dismiss() | N/A |
prompt | accept() | text | dismiss() | send_keys() |
注意浏览器alter和普通html弹出框的区别
上传文件:
# 直接发送键盘消息给 当前应用程序,
# 前提是浏览器必须是当前应用
# 此方法只在windows环境有用
# pip install pypiwin32
import win32com.client
#获取shell对象
shell = win32com.client.Dispatch("WScript.Shell")
# 有的系统要加 '\r'
# 有的系统要加 '\r\n'
#使用shell对象的Sendkeys方法给应用程序发送字符串
shell.Sendkeys(r"d:\button.png" + '\n')
输入法记得调成英文的,默认中文会导致某些字符输入不进去
注意:这个方法是发送字符串到你当前的焦点程序,所以自动化时不要做其他操作
刷新页面,前进,后退:
driver.refresh()
driver.forward()
driver.back()
冻结窗口
setTimeout(function(){debugger},3000)