【发布时间】:2021-06-30 14:14:17
【问题描述】:
我在从页面中抓取一个元素时遇到问题 - 一个 href。该元素位于页面底部,最后一节“Dowiedz się więcej o Pracodawcy:”,然后我们有这个超链接“Zobacz profile pracodawcy”。我尝试通过 id、class、CSS 选择器找到它 - 它不起作用。
有趣的是,当我从我的汤中收集每个 href 时,它不包含这个特定的 url。下面是我的代码并链接到此页面。
driver = webdriver.Chrome(PATH)
driver.get(url)
btn = WebDriverWait(driver, 10).until(
EC.presence_of_element_located((By.CLASS_NAME, 'b1cb9caz')))
btn.click()
btn = WebDriverWait(driver, 10).until(
EC.presence_of_element_located((By.CLASS_NAME, 'bm6u2cu')))
btn.click()
html = driver.page_source
bs = BeautifulSoup(html, "html.parser")
employer_url = bs.find('a', {'data-test': 'button-employer-profile'})
print(employer_url)
【问题讨论】:
-
您的代码对我来说运行良好,它为我提供了“Zobacz profile pracodawcy”的 href。当你打印
employer_url时你看到了什么? -
不起作用的原因可能是在加载selenium中的数据之前,第二次点击后加载动态内容尚未完成。在最后一个
btn.click()之后实现time.sleep(5)为我修复了它。
标签: python selenium web-scraping beautifulsoup