Selenium Python 代码解析:从<li>标签中提取所有<a>链接
Selenium Python 代码解析:从
这段代码展示了如何使用 Selenium Python 从网页中提取所有
以下是对代码的解释以及完整代码示例:
代码片段:
links = driver.find_elements(By.TAG_NAME, 'a')
li_elements = driver.find_elements(By.TAG_NAME, 'li')
for li_element in li_elements:
a_elements = li_element.find_elements(By.TAG_NAME, 'a')
links['inputs'][key].extend(a_elements)
解释:
- 导入模块:
from selenium import webdriver:导入 Selenium 库,用于控制浏览器。from selenium.webdriver.common.by import By:导入 By 类,用于指定元素定位方式。
- 实例化浏览器对象:
driver = webdriver.Chrome():实例化一个 Chrome 浏览器对象,你需要确保已经安装了 ChromeDriver 驱动程序。
- 定义链接存储结构:
links = {'inputs': {}}:定义一个字典,用于存储提取到的链接。links['inputs'][key] = []:定义一个空列表,用于存储每个- 标签中的链接,其中 'key' 变量需要根据实际情况进行定义。
- 查找所有
- 标签:
li_elements = driver.find_elements(By.TAG_NAME, 'li'):使用driver.find_elements()方法根据标签名 'li' 查找所有- 标签。
- 循环遍历
- 标签:
for li_element in li_elements::循环遍历所有- 标签。
- 查找每个
- 标签中的链接:
a_elements = li_element.find_elements(By.TAG_NAME, 'a'):使用find_elements()方法查找当前- 标签中的所有 链接。
- 将链接添加到列表:
links['inputs'][key].extend(a_elements):将当前- 标签中的所有 链接添加到
links['inputs'][key]列表中。
完整代码示例:
from selenium import webdriver
from selenium.webdriver.common.by import By
driver = webdriver.Chrome() # 实例化一个浏览器对象
links = {'inputs': {}}
key = 'my_links' # 定义 'key' 变量
links['inputs'][key] = [] # 定义一个空列表
li_elements = driver.find_elements(By.TAG_NAME, 'li')
for li_element in li_elements:
a_elements = li_element.find_elements(By.TAG_NAME, 'a')
links['inputs'][key].extend(a_elements)
注意:
- 代码中的
key变量没有给出具体的值,你需要根据实际情况进行定义。 - 确保你已经安装了 ChromeDriver 驱动程序。
- 运行代码之前,请将代码中的
driver = webdriver.Chrome()修改为你的浏览器类型。 - 运行代码后,可以使用
print(links)打印提取到的链接信息。 - 如果需要提取更多特定元素,请参考 Selenium 的官方文档:https://www.selenium.dev/documentation/zh-CN/
原文地址: https://www.cveoy.top/t/topic/o9p9 著作权归作者所有。请勿转载和采集!