Python Selenium基本用法

Selenium 作为一款 Web 自动化测试框架,提供了诸多操作浏览器的方法,本节对其中的常用方法做详细介绍。

定位节点

Selenium 提供了 8 种定位单个节点的方法,如下所示:

方法 说明
find_element_by_id() 通过 id 属性值定位
find_element_by_name() 通过 name 属性值定位
find_element_by_class_name() 通过 class 属性值定位
find_element_by_tag_name() 通过 tag 标签名定位
find_element_by_link_text() 通过标签内文本定位,即精准定位。
find_element_by_partial_link_text() 通过标签内部分文本定位,即模糊定位。
find_element_by_xpath() 通过 xpath 表达式定位
find_element_by_css_selector() 通过 css 选择器定位

假设下面代码某个页面的代码片段,如下所示:

<html>
<head>
<body link="#cc0916">
  <a id="logo" href="http://c.cainiao.net" onclick="">
   <form id="form" class="fm" name="f" action="c.cainiao.net">
    <span class="btn"></span>
    <input id="kw" class="s_ipt_wr" name="wd" value="" maxlength="255" autocomplete="off">
</body>
</head>
</html>

下面使用表格中提供的方法定位 input 输出框。如下所示:

#创建browser是浏览器对象
browser = webdriver.Chrome()
#访问某个url得到上述代码片段
browser.get('url')
#通过id定义输入框
browser.dr.find_element_by_id("kw")
#通过class定义
browser.find_element_by_class_name("s_ipt_wr")
#通过name定位
browser.find_element_by_name("wd")
#通过tag name定位:
browser.find_element_by_tag_name("input")
#通过xpath定位
browser.find_element_by_xpath("//*[@id='kw']")
#通过css选择器定位
browser.find_element_by_css_selector("#kw")

通过 a 标签内的文本内容定位节点,如下所示:

<a class="vip" href="http://c.baincheng.net">百度中文网</a>
<a class="search" href="http://www.baidu.com">hao123</a>

示例如下:

#使用全部文本内容定位链接
browser.find_element_by_link_text("百度中文网")
#使用部分文本内容定位链接
browser.find_element_by_par
### 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、付费专栏及课程。

余额充值