You need to enable JavaScript to run this app. LinkedIn学术爬取项目触发'str'无'text'属性AttributeError求助
优惠活动
大模型
产品
解决方案
定价
更多

LinkedIn学术爬取项目触发'str'无'text'属性AttributeError求助

报错直接根因

AttributeError: 'str' object has no attribute 'text'的触发点在代码中对linkedin_urls变量的重复错误操作:

  • 第一次执行linkedin_urls = [url.text for url in linkedin_urls]时,变量存储的初始内容是Selenium返回的WebElement对象列表,取每个元素的.text属性是合法操作,执行完成后变量已经被替换为纯字符串组成的URL列表。
  • 后续代码跳转访问固定LinkedIn个人页后,又重复执行了一次完全相同的列表推导linkedin_urls = [url.text for url in linkedin_urls],此时迭代的每个元素都是字符串类型,字符串不存在.text属性,直接触发报错。
其余连带逻辑隐患(修复上述报错后会依次出现的问题)
  • 头部存在无效语法字符:import csv行末尾多了两个多余的反引号标识,直接运行会触发Python语法解析错误
  • Google页面跳转URL缺少二级域名点号:driver.get('https:www.google.com')会被浏览器解析为无效路径,需修正为driver.get('https://www.google.com')
  • 旧版Selenium定位方法已废弃:find_element_by_class_name、find_elements_by_class_name这类写法在Selenium 4.3+版本中已完全移除,需替换为find_element(by=By.CLASS_NAME, value='对应类名')的兼容写法
  • 执行流程顺序错误:driver.quit()被放置在页面源码赋值、xpath提取逻辑之前,会导致浏览器未完成解析就被强制关闭,后续所有依赖驱动获取页面内容的逻辑都会失效
  • XPath选择器过时:代码中引用的LinkedIn页面类名是2020年前后的旧版前端标识,目前LinkedIn前端已多次迭代类名,直接使用旧选择器会提取到空值
  • CSV写入模式不兼容Python3:代码中使用open(parameters.file_name, 'wb')的二进制写入模式,Python3下写CSV文本需使用'w'模式,配合newline=''参数即可,否则会抛出格式编码错误
  • 字段校验函数逻辑颠倒:当前validate_field函数的判断分支写反,实际逻辑为“只要字段有值就替换为'No results'”,和预期的空值填充逻辑完全相反
直接报错的最小修复方案

删除访问固定LinkedIn个人页后重复执行的列表推导行linkedin_urls = [url.text for url in linkedin_urls]即可解决当前报错。


内容的提问来源于stack exchange,提问作者aziz bhy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.30 06:57:05