五、实用技巧(上)

 

获取当前窗口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)

 

你可能感兴趣的:(selenium笔记)