使用Python Selenium获取id前缀为job____的a标签href属性方法求助
Python Selenium 获取指定a标签href属性解决方案
原有代码存在以下问题:
- 定位逻辑错误:原xpath指向a标签下的span元素,span不存在href属性,无法提取到目标值
- 作用范围错误:
//开头的xpath会从整个文档根节点搜索,若需要在指定父元素job内搜索,需要修改为.//开头 - 未匹配规则:没有加入id前缀为
job____的过滤条件
Selenium 3 版本写法
# 全局范围查找所有符合id前缀规则的a标签 target_a_list = driver.find_elements_by_xpath('//a[starts-with(@id, "job____")]') links = [] for a_tag in target_a_list: href_val = a_tag.get_attribute("href") if href_val: links.append(href_val)
Selenium 4 版本推荐写法
from selenium.webdriver.common.by import By # 全局范围查找 target_a_list = driver.find_elements(By.XPATH, '//a[starts-with(@id, "job____")]') # 列表推导式批量提取href links = [a.get_attribute("href") for a in target_a_list if a.get_attribute("href")] # 如果需要在指定父元素job范围内查找,修改xpath开头即可 # target_a_list = job.find_elements(By.XPATH, './/a[starts-with(@id, "job____")]')
内容的提问来源于stack exchange,提问作者Simon GIS
相关产品推荐
相关产品推荐

