Colab中Selenium获取元素仅返回WebElement,无有效内容求助
解决Selenium提取维基百科搜索结果标题和URL的问题
你遇到的核心问题是直接将Selenium的WebElement对象存入了列表,而非提取对象中的文本和URL属性;同时代码里的循环逻辑也存在错误(wikipedia变量在循环前未定义,且错误地重复添加整个元素列表)。
修正步骤:
- 直接定位搜索结果的
<a>标签(每个结果的标题本身就是带链接的a标签,class为mw-search-result-heading),无需拆分定位title和href - 遍历每个WebElement时,用
.text提取标题文本,用.get_attribute('href')提取完整URL - 修正循环逻辑,逐个处理每个搜索结果元素
修正后的代码:
wd.get("https://es.wikipedia.org/w/index.php?search=Olla+popular&title=Especial:Buscar&profile=advanced&fulltext=1&ns0=1&ns100=1&ns104=1&searchToken=1yxuj0001jqyu03r57ihshghs") titulo = [] url = [] # 直接定位所有搜索结果的a标签 search_results = wd.find_elements('xpath', './/a[@class="mw-search-result-heading"]') for result in search_results: # 提取标题文本 titulo.append(result.text) # 提取完整URL url.append(result.get_attribute('href')) wikipedia = {'TITULO': titulo, "URL": url} print(wikipedia)
说明:
.text用于获取元素的可见文本内容,对应搜索结果的标题.get_attribute('href')用于获取a标签的href属性值(完整链接,而非相对路径)- 修正后的循环会逐个处理每个搜索结果,将实际文本和URL存入列表,最终输出的字典会包含真实的标题和链接内容,而非WebElement对象。
内容的提问来源于stack exchange,提问作者morvam
相关产品推荐
相关产品推荐

