首页 > 解决方案 > 【NavigableString没有find方法】使用Selenium抓取LinkedIn

问题描述

这是我在堆栈溢出中的第一篇文章。

直截了当,我试图模仿这篇文章:

使用 BeautifulSoup 和 Selenium 从 LinkedIn Jobs 中提取工作信息

我也想注册,这就是我的代码:

driver.find_element_by_xpath("/html/body/header/nav/div/a[2]").click()
sleep(3)
driver.find_element_by_xpath("""//*[@id="username"]""").send_keys("xxx")
driver.find_element_by_xpath("""//*[@id="password"]""").send_keys("xxx")
driver.find_element_by_xpath("""//*[@id="app__container"]/main/div[2]/form/div[3]/button""").click()
sleep(5)

driver.get(url) 

sleep(5)

到目前为止,一切都很好。但是,当我到达此代码时:“对于 job_container 中的作业:”该作业的类型为 NavigableString,但它应该是一个标签。

我怀疑这一行没有读取正确的标签:

job_container = lxml_soup.find('ul', class_ = 'jobs-search-results__list list-style-none')  

但我不确定什么是正确的。

有人能帮助我吗?谢谢你。

标签: seleniumbeautifulsoupselenium-chromedriver

解决方案


更新:

我在 for 循环之前再添加一行,它可以工作:

job_container = job_container.find_all('li', class_ = 'jobs-search-results__list-item')

不知道为什么,就是这样。


推荐阅读