【问题标题】:How to get all page numbers and their urls?如何获取所有页码及其网址?
【发布时间】:2020-01-16 18:23:14
【问题描述】:

我正在尝试从类别页面获取所有页面: 分类页面在这里link

底部是下一页的页码。 我正在尝试获取下一页的所有网址:

Mydriver = getOrCreateWebdriver()
Main_category = Mydriver.find_elements_by_xpath("//a[@href]")
for mc in Main_category:
mCat_link = mc.get_attribute("href")
mCat_link = unquote(mCat_link)
mCat_link = mCat_link.replace('#', '')
if (mCat_link in category_list or "changelanguage" in mCat_link):
    continue
else:
    if("reseller.c-data.co.il" in mCat_link):
        category_list.append(mCat_link)
        print(mCat_link)
        if(mc.find_elements_by_class_name("current-page")):
            i=2
            another_page = mCat_link+"#/pageSize=21&viewMode=grid&orderBy=0&pageNumber="+i
            print(another_page)
            i+=1
            another_page = mCat_link + "#/pageSize=21&viewMode=grid&orderBy=0&pageNumber="+i
    else:
        continue

我找不到课程,也无法访问这些页面。我怎样才能得到它们或至少知道菜单中有多少页?

【问题讨论】:

  • 试试mc.find_elements_by_class_name("li.individual-page > a")
  • 我已将其更改为 if(mc.find_elements_by_class_name("li.individual-page > a")): - 我已经设置了断点 - 它从未达到那个点..跨度>
  • @JustinEzequiel,有什么想法吗?

标签: python-3.x selenium web-crawler


【解决方案1】:

抱歉,我没有更改方法名称。应该是find_elements_by_css_selector

matches = Mydriver.find_elements_by_css_selector("li.individual-page > a")
for e in matches:
    print(e.get_attribute('data-pagenumber'), e.text)

【讨论】:

    猜你喜欢
    • 2011-06-22
    • 1970-01-01
    • 2010-12-21
    • 1970-01-01
    • 1970-01-01
    • 2017-01-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多