如何使用Selenium从LinkedIn公司页面抓取员工人数?

时间:2019-07-26 20:44:55

标签: python selenium selenium-chromedriver

我正在尝试构建一个程序来搜索行业名称,然后单击LinkedIn上结果列表中的第一个配置文件,并刮擦确切的员工人数。我为此写了代码,以为可以,但是我似乎无法理解为什么代码没有返回确切的员工人数。 xpath似乎是正确的-所有帮助都将不胜感激!

import time
import re
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from bs4 import BeautifulSoup

driver = webdriver.Chrome()
driver.get('https://www.linkedin.com/login')

nameidElem = driver.find_element_by_id('username')
nameidElem.send_keys('username_here')

pwdidElem = driver.find_element_by_id('password')
pwdidElem.send_keys('password_here')

continueElem = driver.find_element_by_class_name("btn__primary--large")
result = continueElem.submit()
time.sleep(10)

industry = "books"
link = "https://www.linkedin.com/search/results/companies/?keywords=" + 
industry + "&origin=GLOBAL_SEARCH_HEADER"
driver.get(link)

firstcompany = driver.find_element_by_class_name("search-result__title")
firstcompany.click()

employees = driver.find_elements_by_xpath('//*[@id="ember1274"]')
number = re.findall(r'\d', employees.text)
print(number)

1 个答案:

答案 0 :(得分:0)

使用下面的xpath获取员工人数。

//*[.='Company size']/following-sibling::*[contains(.,'employees')]

截屏:

enter image description here

在单击firstCompany链接之后,请确保等待元素显示。

编辑1:

使用以下xpath来“查看LinkedIn上的所有 XX 位员工”

//a[@data-control-name='topcard_see_all_employees']/span

CSS:

a[data-control-name='topcard_see_all_employees'] span

截屏: enter image description here