selenium 自动化

本文详细介绍了Selenium自动化测试的各个方面,包括元素定位、元素操作、浏览器控制、元素等待策略、下拉框操作、弹框处理、frame切换、多窗口操作等关键知识点,并给出了面试中常见的问题和解答。
摘要由CSDN通过智能技术生成

目录

一,八大元素定位方式

二,元素操作

 三,浏览器操作方法

 四,常见的元素操作信息

五,鼠标操作(需要实例化鼠标对象)

六,元素等待方式

七,下拉框操作【重点】

八,弹框处理

九,frame 表单切换

十,多窗口切换

十一,附加一个常问的面试题


一,八大元素定位方式

1,driver.find_element_by_id('id') # 通过id属性定位

2,driver.find_element_by_name('name') # 通过name属性定位

3,driver.find_element_by_tag_name('tagname') # 通过tag属性定位

4,driver.find_element_by_class_name('类名') # 通过class类名属性定位

5,driver.find_element_by_xpath('xpath') # 通过xpath路径定位

6,driver.find_element_by_link_text('连接元素') # 查找超链接元素,精准匹配

7,driver.find_element_by_partial_link_text('连接元素') # 查找超连接元素,模糊匹配

8,driver.find_element_by_css_selector('css') # 通过css属性定位,样式选择器

二,元素操作

# 导包
import time

from selenium import webdriver
# 实例化浏览器
driver = webdriver.Chrome()

# 打开网页
driver.get('https://www.baidu.com')

# 需求
#  找到搜索框并输入内容
su = driver.find_element_by_id('kw')
su.send_keys('易烊千玺')
# 清空搜索框
su.clear()

su.send_keys('王嘉尔')
time.sleep(5)

# 关闭页面
driver.quit()

 三,浏览器操作方法

# 常见的浏览器操作方法
"""
1,driver.maximize_window()  # 最大化浏览器
2,driver.set_window_size(3000,8000)  # 设置浏览器的大小【了解】
3,driver.set_window_position(x=400,y=600)  # 设置浏览器位置【了解】
4,driver.back()  # 后退操作
5,driver.forward()  # 前进操作
6,driver.refresh()  # 刷新
7,driver.close()  # 关闭当前窗口
8,driver.quit()  # 退出浏览器网页
9,driver.title()  # 获取当前页面的title信息
10,driver.current_url()  # 获取当前页面的url信息
"""

import time
from selenium import webdriver
driver = webdriver.Chrome()
driver.get('https://www.baidi.com')
# 窗口最大化
driver.maximize_window()
time.sleep(2)
# 设置浏览器的宽,高【了解】
driver.set_window_size(1000,1000)
time.sleep(2)
# 设置浏览器位置【了解】
driver.set_window_position(200,200)
time.sleep(2)
# 定位搜索框,输入内容
driver.find_element_by_name('wd').send_keys('易烊千玺')
# 定位搜索按钮并点击
driver.find_element_by_xpath('//*[@id="su"]').click()
time.sleep(2)
# 获取当前页面的title
print('当前页面标题:',driver.title)
# 获取当前页面的url
print('当前页面的url:',driver.current_url)
# 后退
driver.back()
time.sleep(2)
# 前进
driver.forward()
time.sleep(2)
# 刷新
driver.refresh()
# 退出
driver.quit()

 重要提示:

1,driver.title 和 driver.current_url 是没有属性括号,一般用于判断操作是否执行成功

2,driver.maximize_window()  一般在前置代码,放在获取driver地址后。对浏览器进行窗口最大化

3,driver.refresh()  刷新页面,在cookie会用到

4,close() 和 quit() 的区别【面试题】

close() :关闭当前页面

quit() :关闭浏览器/关闭启动的所有页面

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值