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)

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 174,143评论 25 709
  • Ⅰ 当你真正开始忙碌, 当你每天蓬头垢面时, 闭上眼休息的刹那, 想起以前在镜子前磨蹭的时候, 明眸善睐的样子; ...
    白衣渡阅读 242评论 0 2
  • 整天想传动会议的小论文,内容要多少。多了怕浪费了,哈哈,最终决定,多写点!加上特性分析。 另外眼镜镜腿老化了,找宝...
    阳光半沐阅读 174评论 0 0
  • 今天过得还算充实,但仍有好些地方需要改进。 上午本来计划要预习今天下午的英文课,外加去外音组朗读这篇文。但上午却和...
    明媚Sopy阅读 352评论 5 1
  • 【每天三件事11.14】 1、工作周会,把控工作进度 2、PC端新规划 3、产品规则文档梳理 【小确幸】 今天中午...
    Katrina程阅读 128评论 0 0