【问题标题】:Why does selenium not fetch all list items?为什么 selenium 不获取所有列表项?
【发布时间】:2018-10-14 13:04:13
【问题描述】:

我正在从 LinkedIn 销售导航器中抓取个人资料。所有配置文件都在一个列表项

当我尝试获取所有列表项时,它只找到前 10 个。我做错了什么?

sel = Selector(text=driver.page_source)
names = sel.xpath('//li[@class="pv5 pr6 search-results__result-item"]')
len(names)
10

>>> print(names)
[<Selector xpath='//li[@class="pv5 pr6 search-results__result-item"]' 
data='<li class="pv5 pr6 search-results__resul'>, <Selector 
xpath='//li[@class="pv5 pr6 search-results__result-item"]' data='<li 
class="pv5 pr6 search-results__resul'>, <Selector xpath='//li[@class="pv5 
pr6 
search-results__result-item"]' data='<li class="pv5 pr6 search- 
results__resul'>, <Selector xpath='//li[@class="pv5 pr6 search- 
results__result-item"]' data='<li class="pv5 pr6 search-results__resul'>, 
<Selector xpath='//li[@class="pv5 pr6 search-results__result-item"]' 
data='<li class="pv5 pr6 search-results__resul'>, <Selector 
xpath='//li[@class="pv5 pr6 search-results__result-item"]' data='<li 
class="pv5 pr6 search-results__resul'>, <Selector xpath='//li[@class="pv5 
pr6 
search-results__result-item"]' data='<li class="pv5 pr6 search- 
results__resul'>, <Selector xpath='//li[@class="pv5 pr6 search- 
results__result-item"]' data='<li class="pv5 pr6 search-results__resul'>, 
<Selector xpath='//li[@class="pv5 pr6 search-results__result-item"]' 
data='<li class="pv5 pr6 search-results__resul'>, <Selector 
xpath='//li[@class="pv5 pr6 search-results__result-item"]' data='<li 
class="pv5 pr6 search-results__resul'>]

【问题讨论】:

  • 你能打印名称的值来显示其中存储的内容吗?我认为这将有助于理解问题
  • @OsumanAAA 我添加了它
  • 您能详细说明您正在使用的“选择器”对象吗?我从来没见过!你是说 Select() 吗?
  • 你不能使用 driver.find_elements_by_xpath("xpath here...") 并遍历列表。
  • @Infern0 当我执行 driver.find_elements_by_xpath('//li[@class="pv5 pr6 search-results__result-item"]')。我仍然只得到 10 个结果。

标签: python selenium selenium-chromedriver


【解决方案1】:

我找到了解决方案。我需要硒才能向下滚动到页面。我使用了这段代码:

 scheight = .1
  while scheight < 9.9:
      driver.execute_script("window.scrollTo(0, document.body.scrollHeight/%s);" % 
      scheight)
      scheight += .01

在这篇文章中找到了答案:Efficient method to scroll though pages using Selenium

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-09
    • 1970-01-01
    • 2019-11-02
    相关资源
    最近更新 更多