python - Beautifulsoup/Selenium:无法单击按钮并使用 python 获取 url
问题描述
我正在从 Linkedin Sales Navigator 中抓取公司列表及其潜在客户信息。虽然我能够从销售导航器中抓取公司名称,但在抓取潜在客户信息时遇到了问题。例如:如果 XYZ 是一家公司,而 ABC、PQR、MNO 是他们的潜在客户,我无法抓取他们的信息,例如:“姓名”、“职务”、“联系信息”。
以前,我能够提取记录,但是因为销售导航平台改变了它的结构 - 以前,单击潜在客户时,它会打开一个 URL,从那里我能够提取记录。但是现在,该 url 被隐藏,并且潜在客户的个人资料在同一页面上打开。之后,URL 可见。
我正在尝试单击潜在客户,然后打开 url 并抓取必要的信息.. 但它失败了。
我尝试在其他通话之间引入 time.sleep ,但这并没有太大帮助。这是我的代码。
lead_links = []
button = browser.find_elements_by_class_name('button--unstyled t-16 font-weight-600 nowrap-ellipsis')
for b in button:
b.click()
leads = soup.find_all("div", attrs={"class": "artdeco-entity-lockup__title artdeco-entity-lockup__title--alt-link ember-view"})
for lead in leads:
lead_links.append(lead.a["href"])
print(leads)
我在这里想念什么?请帮忙!
解决方案
如果您更改页面或显示另一个页面,请向我展示此页面源代码的片段,您还需要更改对它的引用,使用 selenium webdriver 库您可以:
url2 = page1.current_url
然后你可以抓取新页面也有可能在当前页面中打开新页面的html文档(内置模块,你可以在现有模块中重新打开)但就像我说的那样,你必须显示页面代码它的行为方式和外观。
推荐阅读
- java - java无法访问资源文件夹
- c++ - 旅行商问题的时间复杂度(递归公式)
- python - windows任务调度程序中的调度python脚本,似乎运行,但不产生结果
- java - 使用额外的连接表在同一实体内进行双重自引用
- python - 如何将 3D 列表写入带有空格的文本文件并删除逗号和语音标记
- ruby-on-rails - Ruby:如何在 SQL 查询中使用撇号
- rust - 编译卡住(substrate-node-template:make build)
- node.js - 我有 2 个关于 mongoose 聚合和索引方法的问题
- r - 如何预测和拟合多个时间序列的最优模型?
- python - 使用 tkinter 配置字体时的奇怪功能