1、打开和关闭浏览器
打开浏览器
driver=webdriver.Ie()
driver=webdriver.Chrome()
driver=webdriver.Firefox()
关闭浏览器
driver.close()
关闭浏览器以及浏览器驱动程序
driver.quit()
2、打开 Url
driver.get("url 地址")
3、切换框架/窗口(使用 switch_to 包)
定位到当前聚焦的元素上
driver.switch_to.active_element()
切换到 alert 弹窗
driver.switch_to.alert()
# 获取alert对话框 dig_alert = driver.switch_to.alert time.sleep(1) # 打印警告对话框内容 print(dig_alert.text) # alert对话框属于警告对话框,我们这里只能接受弹窗 dig_alert.accept() time.sleep(1)
切换到某个 frame
driver.switch_to.frame(index或 name)
index从0开始
切换到主页面
driver.switch_to.default_content()
切换到上一层的 frame
driver.switch_to.parent_frame()
切换窗口
driver.switch_to.window(handle)
如何获取handle?
通过driver.window_handles 方法获取当前浏览器所有窗口的handle
通过循环切换窗口判断标题的方法来确定当前窗口是否为目标窗口
保留当前窗口handle:driver.current_window_handle
4、页面元素的属性和方法
获得网页标题
driver.title()
获得当前窗口地址栏URL
driver.current_url
获得页面元素的文本值(属于属性)
对象.text
获得指定属性的值
对象.get_attribute("属性名")
获取元素对应的HTML片段
获取整个web元素的HTML片段
element.get_attribute("outerHTML")
获取web元素内部子元素的HTML片段
element.get_attribute("innerHTML")
Select(对象)的操作
需要导入包:from selenium.webdriver.support.select import Select
根据索引选择元素
select_by_index
根据文本选择元素
select_by_visible_text
取消所有选项
deselect_all()
取消对应 index 选项
deselect_by_index()
取消对应 value 选项
deselect_by_value()
取消对应文本选项
deselect_by_visible_text()
返回第一个选项
first_selected_option()
返回所有的选项
all_selected_options()
用于键盘输入数据
element.send_keys("数据")
点击元素(支持单选按钮、 复选框、 命令按钮)
element.click()
5、刷新页面,前进,后退
driver.refresh()
driver.forward()
driver.back()
6、截屏:
截取整个页面:driver.get_screenshot_as_file(img_path)
截取单个元素: web_element screenshot(img_path)
# img_path是图片路径,类型str
7、改变窗口大小
将窗口最大化
driver.maximize_window()
将窗口最小化
driver.minimize_window()
获取窗口大小
size = driver.get_window_size()
改变窗口大小(传递宽度和高度,单位是像素)
driver.set_window_size(1100,size['height'])
8、滚动屏幕
js语言:window.scrollBy(250,0) 就是横向滚动250个像素
selenium里面使用js代码
driver.execute_script('window.scrollBy(200,0)')