欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 汽车 > 维修 > Selenium网页自动化:常用方法与属性全解析

Selenium网页自动化:常用方法与属性全解析

2025/2/6 4:41:42 来源:https://blog.csdn.net/weixin_46336208/article/details/144167507  浏览:    关键词:Selenium网页自动化:常用方法与属性全解析

1. 浏览器控制相关方法

方法/属性功能说明
driver.get(url)打开指定 URL。
driver.refresh()刷新当前页面。
driver.back()模拟浏览器后退操作。
driver.forward()模拟浏览器前进操作。
driver.close()关闭当前窗口。
driver.quit()关闭整个浏览器和 WebDriver 会话。
driver.execute_script(js)执行 JavaScript 脚本,可用于操作页面元素或获取页面内容。

2. 网页信息获取

方法/属性功能说明
driver.page_source获取当前页面的 HTML 源代码。
driver.title获取当前页面的标题。
driver.current_url获取当前页面的 URL。
driver.get_cookies()获取当前页面所有 Cookies,以列表形式返回。
driver.get_cookie(name)根据名称获取特定的 Cookie。

3. 页面元素查找与操作

查找元素方法
方法/属性功能说明
driver.find_element(By.ID, id_)根据 ID 查找单个元素。
driver.find_element(By.NAME, name)根据 Name 属性查找单个元素。
driver.find_element(By.CLASS_NAME, class_name)根据类名查找单个元素。
driver.find_element(By.TAG_NAME, tag_name)根据标签名查找单个元素。
driver.find_element(By.CSS_SELECTOR, selector)根据 CSS 选择器查找单个元素。
driver.find_element(By.XPATH, xpath)根据 XPath 表达式查找单个元素。
driver.find_elements(...)与上述方法类似,但返回多个符合条件的元素(列表)。
元素操作方法
方法/属性功能说明
element.click()点击页面元素。
element.send_keys(keys)向元素中输入文本(例如表单输入框)。
element.clear()清空输入框内容。
element.text获取元素的文本内容。
element.get_attribute(name)获取元素的属性值,例如 hrefsrc 等。
element.is_displayed()检查元素是否可见,返回布尔值。
element.is_enabled()检查元素是否可用(启用状态),返回布尔值。
element.is_selected()检查元素是否被选中(如复选框、单选框等)。

4. 窗口与框架操作

方法/属性功能说明
driver.window_handles获取所有打开窗口的句柄(列表)。
driver.current_window_handle获取当前窗口的句柄。
driver.switch_to.window(handle)切换到指定窗口句柄。
driver.switch_to.frame(frame)切换到指定的 iframe 框架。
driver.switch_to.parent_frame()返回到父框架。
driver.switch_to.default_content()返回到主页面内容。

5. 等待操作

方法/属性功能说明
driver.implicitly_wait(seconds)设置隐式等待时间,在查找元素时会等待指定秒数直到找到元素。
WebDriverWait(driver, timeout).until(condition)显式等待,等待某个条件满足。

6. 警告框操作

方法/属性功能说明
driver.switch_to.alert切换到警告框(Alert)。
alert.accept()接受警告框。
alert.dismiss()取消警告框。
alert.text获取警告框中的文本。
alert.send_keys(keys)向警告框输入文本(部分情况下支持)。

7. 其他实用操作

方法/属性功能说明
driver.set_window_size(width, height)设置窗口大小。
driver.maximize_window()最大化浏览器窗口。
driver.save_screenshot(file_path)截图保存为文件,便于调试。
driver.switch_to.active_element切换到当前页面的活动元素。

举例:

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.chrome.options import Options# 初始化无界面浏览器
options = Options()
options.add_argument("--headless")
driver = webdriver.Chrome(options=options)try:# 打开百度driver.get("https://www.baidu.com")# 获取页面标题和URLprint("Title:", driver.title)print("URL:", driver.current_url)# 查找搜索框并输入内容search_box = driver.find_element(By.ID, "kw")search_box.send_keys("Selenium")# 截图driver.save_screenshot("baidu.png")# 打印Cookiesprint("Cookies:", driver.get_cookies())finally:driver.quit()

点评:

Selenium 的方法和属性可以灵活组合,实现复杂的网页自动化任务。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com