首页 > 解决方案 > 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)

我在这里想念什么?请帮忙!

标签: pythonseleniumselenium-webdriverbeautifulsoup

解决方案


如果您更改页面或显示另一个页面,请向我展示此页面源代码的片段,您还需要更改对它的引用,使用 selenium webdriver 库您可以:

url2 = page1.current_url

然后你可以抓取新页面也有可能在当前页面中打开新页面的html文档(内置模块,你可以在现有模块中重新打开)但就像我说的那样,你必须显示页面代码它的行为方式和外观。


推荐阅读