导航

Selenium常见方法

Posted on 2020-09-23 11:04  mandy00  阅读(94)  评论(0)    收藏  举报

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()

1
2
3
4
5
6
7
8
# 获取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)')