selenium命令
时间: 2024-12-30 15:29:54 浏览: 9
### Selenium 命令列表及用法
#### 浏览器控制命令
通过 `webdriver` 控制浏览器的行为,可以实现自动化操作。创建 WebDriver 对象来启动特定类型的浏览器实例。
```python
from selenium import webdriver
driver = webdriver.Chrome() # 启动 Chrome 浏览器
```
关闭当前窗口或退出整个浏览器会话的方法如下:
- 关闭单个标签页:`driver.close()`[^1]
- 结束所有关联的窗口以及 WebDriver 实例:`driver.quit()`
#### 寻找页面元素
为了与网页上的组件交互,需先定位它们。支持多种方式指定目标位置,包括 ID、名称、XPath 和 CSS Selector 等。
- 使用 XPath 查找单一元素:`element = driver.find_element(By.XPATH, 'XPATH')`[^4]
- 利用类名选取 HTML 元素:`elements = driver.find_elements(By.CLASS_NAME, 'CLASS_NAME')`
- 应用 CSS Selectors 获取匹配项:`element = driver.find_element(By.CSS_SELECTOR, 'CSS_SELECTOR')`
- 根据唯一标识符定位对象:`element = driver.find_element(By.ID, 'ID')`
#### 执行动作指令
一旦选定了要作用的对象,则可以通过一系列预定义的动作对其进行操控,比如点击按钮、输入文本等。
```python
element.click() # 单击选定元素
element.send_keys('text') # 向可编辑区域发送字符串
```
对于多窗口管理场景下的切换操作也非常重要;当新弹出了另一个 Tab 或者 Frame 的时候就需要调用相应的 API 来改变上下文环境以便继续后续的任务处理。
- 切换到最新的窗口句柄:`driver.switch_to.window(driver.window_handles[-1])`[^2]
- 返回父级 frame :`driver.switch_to.default_content()`
#### 显性和隐性等待策略
为了避免因加载延迟而导致误判的情况发生,在实际应用过程中往往还需要引入适当的延时机制以确保程序能够稳定运行。
- 设置全局性的超时期限用于自动轮询直至满足条件为止(即所谓的“隐式等待”):`driver.implicitly_wait(10)`[^5]
- 针对具体事件设置精准的时间间隔来进行同步控制(也就是显式的 Wait),这通常借助于 WebDriverWait 类配合 expected_conditions 函数共同完成。
阅读全文