3-selenium-操控元素的基本方法

本文介绍如何通过自动化工具实现对网页元素的操作与信息提取,包括点击元素、输入文本及获取元素的各种属性和内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

操控元素通常包括

点击元素

在元素中输入字符串,通常是对输入框这样的元素

获取元素包含的信息,比如文本内容,元素的属性

点击元素

点击元素其实就是调用对象的 click 方法。

但要注意的是,

当我们调用 WebElement 对象的 click 方法去点击 元素的时候, 浏览器接收到自动化命令,点击的是该元素的 中心点 位置 。

这样一个例子,
在这里插入图片描述

我们要点击 添加客户 这个按钮,既可以点击 右边对应的 绿色框子总的button 元素 ,也可以点击红色框子中的span元素 。

因为这两个元素的中心点都是 button 内部,都是有效点击区域

输入框

输入字符串其实就是调用元素WebElement对象的send_keys方法

但如果这个输入框里原来就有内容(提示符号等),我们就需要先清除掉。

element = wd.find_element_by_id("kw")

element.find_element_by_id("kw").click()
element.clear() # 清除输入框已有的字符串
element.send_keys('Python') # 输入新字符串
获取元素信息
获取元素的文本内容

也就是元素展示在界面上的内容

element = wd.find_element_by_id('animal')
print(element.text)
获取元素属性

通过WebElement对象的 get_attribute 方法来获取元素的属性值,

比如要获取元素属性class的值,就可以使用 element.get_attribute('class')

element = wd.find_element_by_id('input_name')
print(element.get_attribute('class'))

执行完自动化代码,如果想关闭浏览器窗口可以调用WebDriver对象的 quit 方法,像这样 wd.quit()

获取整个元素对应的 HTML

要获取整个元素对应的HTML文本内容,可以使用 element.get_attribute('outerHTML')

如果,只是想获取某个元素 内部 的HTML文本内容,可以使用 element.get_attribute('innerHTML')

获取输入框里面的文字

对于input输入框的元素,要获取里面的输入文本,用text属性是不行的,这时可以使用 element.get_attribute('value')

element = wd.find_element_by_id("input1")
print(element.get_attribute('value')) # 获取输入框中的文本
获取元素中的文本内容

通过WebElement对象的 text 属性,可以获取元素 展示在界面上的 文本内容。

但是,有时候,元素的文本内容没有展示在界面上,或者没有完全展示在界面上。 这时,用WebElement对象的text属性,获取文本内容,就会有问题。

出现这种情况,可以尝试使用 element.get_attribute('innerText') ,或者 element.get_attribute('textContent')

### Python Selenium 基本方法及示例 #### 、安装与初始化 为了使用 Selenium,在开始之前需要先完成环境搭建。可以通过以下命令安装 Selenium 库[^5]: ```bash pip install selenium -i https://pypi.tuna.tsinghua.edu.cn/simple ``` 接着,导入 `webdriver` 模块并指定要使用的浏览器驱动程序。以下是 Chrome 浏览器的初始化示例代码[^3]: ```python from selenium import webdriver driver = webdriver.Chrome() ``` 如果需要配置其他选项(如无头模式),可以引入 `ChromeOptions` 类进行设置。 --- #### 二、访问网页 通过调用 `get()` 方法可以让 WebDriver 打开目标 URL 页面。例如: ```python driver.get("https://www.example.com") ``` 此操作会加载指定页面,并等待其完全渲染完毕后再继续执行后续脚本[^1]。 --- #### 三、元素定位 Selenium 提供了多种方式用于查找 HTML 文档中的特定节点或区域。常见的有 ID、名称、类名、标签名以及更复杂的 XPath 和 CSS Selectors 表达式等[^2]。下面列举几个典型例子: - **按 ID 查找** ```python element = driver.find_element_by_id("myId") ``` - **按 Class Name 查找** ```python elements = driver.find_elements_by_class_name("className") ``` - **利用 By 枚举类型统接口** ```python from selenium.webdriver.common.by import By element = driver.find_element(By.ID, "myId") elements = driver.find_elements(By.CLASS_NAME, "className") ``` 上述两种风格均可实现相同功能;推荐后者因为更加灵活通用[^4]。 --- #### 四、交互操作 找到目标控件之后就可以对其进行各种模拟用户行为的操作了,比如输入文字、点击按钮等等。这里给出些基础示范: - 向文本框发送字符串: ```python input_field = driver.find_element(By.NAME, 'username') input_field.send_keys('test_user') ``` - 单击某个链接或者按钮: ```python submit_button = driver.find_element(By.XPATH, '//button[@type="submit"]') submit_button.click() ``` 注意:某些动态生成的内容可能不会立即显现出来,此时应该考虑加入显式等待机制以提高稳定性。 --- #### 五、获取数据 除了操控界面外,我们还经常需要读取当前显示的信息作为下步处理依据。这通常涉及到属性值提取或是内部HTML结构解析等工作。 - 获取某项的可见文本: ```python text_content = some_element.text ``` - 查询特定属性的值: ```python href_value = anchor_tag.get_attribute('href') ``` 以上就是关于如何运用PythonSelenium库开展简单任务的主要介绍。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值