selenium常用的API
打开浏览器
driver.get("http://www.baidu.com")
最大化浏览器
driver.maximize_window()
关闭浏览器
driver.quit()
浏览器向前
driver.forward()
浏览器向后
driver.back()
刷新浏览器
driver.refresh()
定位元素
# 获取单个元素
driver.find_element_by_class_name('')
driver.find_element_by_id('')
driver.find_element_by_css_selector('')
driver.find_element_by_link_text('')
driver.find_element_by_name('')
driver.find_element_by_tag_name('')
driver.find_element_by_xpath('')
driver.find_element_by_partial_link_text('')
# 获取一组元素
driver.find_elements_by_class_name('')
driver.find_elements_by_id('')
driver.find_elements_by_css_selector('')
driver.find_elements_by_link_text('')
driver.find_elements_by_name('')
driver.find_elements_by_tag_name('')
driver.find_elements_by_xpath('')
driver.find_elements_by_partial_link_text('')
元素操作
# 输入字符
driver.find_element_by_xpath('').send_keys('')
# 点击
driver.find_element_by_xpath('').click()
#清除
driver.find_element_by_xpath('').clear()
# 获取元素属性
driver.find_element_by_xpath('').get_attribute()
# 判断是否显示
driver.find_element_by_xpath('').is_displayed()
# 判断是否选中
driver.find_element_by_xpath('').is_selected()
表单处理
select
from selenium.webdriver.support.select import Select
# 选择
Select(driver.find_element_by_xpath('')).select_by_value('')
Select(driver.find_element_by_xpath('')).select_by_index('')
Select(driver.find_element_by_xpath('')).select_by_visible_text('')
# 反选
Select(driver.find_element_by_xpath('')).deselect_by_value('')
Select(driver.find_element_by_xpath('')).deselect_by_index('')
Select(driver.find_element_by_xpath('')).deselect_by_visible_text('')
截屏
driver.get_screenshot_as_file('')
处理浏览器弹窗
driver.switch_to.alert.accept()
弹出窗口,使用窗口句柄
window_handles = driver.window_handles
driver.switch_to.window(window_handles[0])
#0是第一个窗口
每天一点点,感受自己存在的意义。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 单元测试从入门到精通