📝 面试求职: 「面试试题小程序」 ,内容涵盖 测试基础、Linux操作系统、MySQL数据库、Web功能测试、接口测试、APPium移动端测试、Python知识、Selenium自动化测试相关、性能测试、性能测试、计算机网络知识、Jmeter、HR面试,命中率杠杠的。(大家刷起来…)
📝 职场经验干货:
大家好啊!今天我要和大家分享一个特别实用的Python库 - Selenium!作为一名经常和网页打交道的程序员,我深知手动测试网页有多么繁琐。但有了Selenium这个自动化测试神器,我们就能轻松地实现网页操作的自动化,节省大量时间!
什么是Selenium?
Selenium是一个强大的网页自动化测试工具,它能模拟真实用户在浏览器中的各种操作。无论是点击按钮、填写表单,还是获取网页内容,Selenium都能帮我们轻松搞定。
准备工作
在开始使用Selenium之前,我们需要:
-
安装Selenium库:
pip install selenium
-
安装浏览器驱动(以Chrome为例):
pip install webdriver-manager
第一个Selenium程序
来看看如何用Selenium打开一个网页:
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.chrome.options import Options
from webdriver_manager.chrome import ChromeDriverManager
# 配置Chrome选项
chrome_options = Options()
chrome_options.add_argument('--start-maximized') # 启动时最大化窗口
# 初始化浏览器驱动
driver = webdriver.Chrome(
service=Service(ChromeDriverManager().install()),
options=chrome_options
)
# 打开网页
driver.get('https://www.python.org')
# 获取网页标题
print(f“网页标题: {driver.title}”)
# 关闭浏览器
driver.quit()
常用操作技巧
1. 定位元素
Selenium提供了多种方式来定位网页元素:
# 通过ID查找
element = driver.find_element('id', 'search')
# 通过类名查找
element = driver.find_element('class name', 'submit-button')
# 通过XPath查找
element = driver.find_element('xpath', '//button[@type=“submit”]')
小贴士 :建议优先使用ID和CSS选择器来定位元素,因为它们的性能最好!
2. 模拟用户操作
# 在搜索框输入内容
search_box = driver.find_element('name', 'q')
search_box.send_keys('Python教程')
# 点击按钮
submit_button = driver.find_element('css selector', 'button.search-button')
submit_button.click()
# 清除输入框内容
search_box.clear()
3. 等待机制
网页加载需要时间,所以要学会等待:
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
# 显式等待
element = WebDriverWait(driver, 10).until(
EC.presence_of_element_located((By.ID, 'result'))
)
注意事项 :不要使用time.sleep()
,这样会使脚本执行效率降低。应该使用显式等待或隐式等待。
实战小例子
来做一个简单的自动登录程序:
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
def auto_login(url, username, password):
driver = webdriver.Chrome()
try:
# 打开登录页面
driver.get(url)
# 等待用户名输入框出现
username_input = WebDriverWait(driver, 10).until(
EC.presence_of_element_located((By.ID, 'username'))
)
# 输入用户名和密码
username_input.send_keys(username)
driver.find_element(By.ID, 'password').send_keys(password)
# 点击登录按钮
driver.find_element(By.ID, 'login-button').click()
# 等待登录成功
WebDriverWait(driver, 10).until(
EC.presence_of_element_located((By.CLASS_NAME, 'welcome-message'))
)
print(“登录成功!”)
except Exception as e:
print(f“登录失败: {str(e)}”)
finally:
driver.quit()
练习题
-
尝试编写一个程序,自动打开百度,搜索“Python”,并获取第一页的搜索结果。
-
使用Selenium模拟在网页上滚动操作,并截取网页截图。
小伙伴们,今天的Python学习之旅就到这里啦!记得动手敲代码,有问题随时在评论区问我哦。Selenium的魅力远不止于此,建议大家多尝试不同的网页自动化场景。祝大家学习愉快,Python学习节节高!
最后: 下方这份完整的软件测试视频教程已经整理上传完成,需要的朋友们可以自行领取【保证100%免费】