阅读量:0
浏览器相关操作
1.浏览器常用方法
- 设置浏览器大小为宽600,高800
driver.set_window_size(600,800)
- 设置浏览器显示最大
driver.maximize_window()
- 设置浏览器前进:
deiver.forward()
- 设置浏览器后退:
deiver.back()
- 刷新浏览器 :
driver.refresh()
- 获取当前页面的title
driver.title
- 获取当前页面的URL
driver.current_url
- 退出浏览器
driver.quit()
2.多窗口切换
- 获取当前窗口句柄 :
driver.current_window_handle
- 获取所有窗口句柄:
driver.window_handles
- 切换窗口 :
driver.swich_to_window( )
- 关闭窗口: driver.close()
- 窗口截图(一般用于报错的时候进行截图,帮助定位bug):
driver.get_screenshot_as_file("./imgs/test.png")
使用示例:
from selenium import webdriver from selenium.webdriver.common.by import By def switch_windows(): # 创建 WebDriver 实例 driver = webdriver.Chrome() # 打开第一个页面 driver.get('https://www.example1.com') # 点击链接打开新窗口 driver.find_element(By.LINK_TEXT, 'Open New Window').click() # 获取当前所有窗口的句柄 window_handles = driver.window_handles # 切换到新窗口 driver.switch_to.window(window_handles[1]) # 在新窗口中进行操作 print(driver.title) # 截图当前窗口,并保存为图片到当前目录imgs/test.png driver.get_screenshot_as_file("./imgs/test.png") # 关闭新窗口 driver.close() # 切换回原来的窗口 driver.switch_to.window(window_handles[0]) # 继续在原窗口操作 # 关闭浏览器 driver.quit() if __name__ == "__main__": switch_windows()
3.警告框处理
三种不同的弹窗区别
- alert 弹出框:
- 用途:主要用于向用户显示一条简单的消息。
- 特点:
只有一个“确定”按钮,用户无法输入任何信息。
会阻塞当前页面的执行,直到用户点击“确定”按钮。
- confirm 弹出框:
- 用途:用于向用户询问一个问题,并要求用户确认或取消。
- 特点:
提供“确定”和“取消”两个按钮。
点击“确定”返回 true,点击“取消”返回 false
- prompt 弹出框:
- 用途:用于提示用户输入一些文本信息。
- 特点:
显示一个输入框和“确定”、“取消”按钮。
点击“确定”返回用户输入的文本,点击“取消”返回 null
弹窗的常用方法和示例
- 接受弹窗:
alert.accept()
- 解散现有弹窗
confirm.dismiss()
- 发送文本到警告窗
prompt.send_keys("Hello, World!")
- 切换到弹窗
alert = driver.switch_to.alert
- 获取弹窗的文本
alert_text = alert.text
使用示例 (示例中的 alert_demo.html 可在本文资源中进行下载)
import time,os from selenium import webdriver from selenium.webdriver.common.by import By driver = webdriver.Chrome() file_path ='file:///'+ os.path.abspath('alert_demo.html') driver.get(file_path) # 获取三个按钮元素,点击按钮后会展示对应的弹窗 alert_button = driver.find_element(By.ID, 'alert_button') confirm_button = driver.find_element(By.ID, 'confirm_button') permot_button = driver.find_element(By.ID, 'permot_button') # 获取alert 弹窗,并接受 alert_button.click() alert = driver.switch_to.alert time.sleep(5) #设置休眠是为了减缓速度,便于观察 alert.accept() # 接收弹窗 # 获取confirm并点击取消 confirm_button.click() alert = driver.switch_to.alert print("confirm中的内容是:",alert.text) time.sleep(5) alert.dismiss() # 获取permot 并输出文字:test permot_button.click() alert = driver.switch_to.alert alert.send_keys("今天天气阴") time.sleep(5) alert.accept() # 完成操作后,关闭WebDriver time.sleep(10) driver.quit()