selenium phantomjs 翻页

翻页
- 对于这个需求我们两种方法,一个是解析源码

import time

from selenium import webdriver
from selenium.webdriver.support.select import Select
import random
from lxml import etree

def extract_content(item):
    pass
driver = webdriver.PhantomJS()
# driver = webdriver.Chrome()
url = ''
driver.get(url)
doc = etree.HTML(driver.page_source)
page = int(doc.xpath('//*[@id="PageTotalSpan"]/text()')[0]) // 10 + 1  # 获取页码
for i in range(1, page):
    response = etree.HTML(driver.page_source)
    contents = response.xpath('//td[@valign="top"]/table/tbody/tr/td')
    extract_content(contents)
    driver.find_element_by_xpath('//*[@id="_PageBar_Index_list1"]').clear() # 清除页码
    a = random.uniform(1, 2)
    time.sleep(a)
    driver.find_element_by_xpath('//*[@id="_PageBar_Index_list1"]').send_keys(i) # 填写页码
    driver.find_element_by_xpath(
        '//*[@id="PageBarDiv"]/table/tbody/tr/td/table/tbody/tr/td[7]/a/img').click() # 翻页
  • 获取加载后的动态翻页针对于Elements 跟 page source不一致情况
import random
import time

from selenium import webdriver


def extract_content(item):
    pass


url = 'xxxx'
driver = webdriver.PhantomJS()
driver.get(url)
for i in range(1, 10):
    print(i)
    driver.find_element_by_xpath('//*[@id="_PageBar_Index_list1"]').clear()

    driver.find_element_by_xpath('//*[@id="_PageBar_Index_list1"]').send_keys(i)
    driver.find_element_by_xpath(
        '//*[@id="PageBarDiv"]/table/tbody/tr/td/table/tbody/tr/td[7]/a/img').click()
    a = random.uniform(8, 10) # 加载时间
    time.sleep(a)
    contents = driver.find_elements_by_xpath('//table[@id="illExampleDataTable"]/tbody')  # 捕获全部的加载动态
    extract_content(contents)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值