python webdrive的问题,求解答

qq_15738501 2017-06-23 10:07:57
要爬取一个网站的数据,想要实现翻页功能,但是特殊之处在于翻页网站并不会变化,通过查找元素找到了下一页的源码如下:

我想通过click()实现翻页: driver.find_element_by_class_name("next turn_page").click(),但是报错,应该是定位失败。在网上查了好久了,一直没找到解决方法,本来以为是内嵌网页的问题,结果不是,求大神解答!不胜感激!
...全文
486 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_15738501 2017-12-27
  • 打赏
  • 举报
回复
发现问题所正在了,下一页按钮元素的class是'next turn_page', 这表示该元素拥有链各个class,'next' 和 'turn_page'。按class = 'next'或者class='turn_page'进行查找都行,而我是将'next turn_page'作为一个class进行查找,自然会无法定位到
chuifengde 2017-06-24
  • 打赏
  • 举报
回复
可能网址登录跟验证有关,无法进去测试 你先试试不要click,获取其内容试试,另外用模块time.sleep尽量停留点时间,以备drive加载完整个页面
chuifengde 2017-06-24
  • 打赏
  • 举报
回复
qq_15738501 2017-06-24
  • 打赏
  • 举报
回复
恩好,我这个定位翻页的语句应该是没写错把,是应该click这个元素吧。
qq_15738501 2017-06-23
  • 打赏
  • 举报
回复
代码如下:
# coding = utf-8
import xlwt
from bs4 import BeautifulSoup
from selenium import webdriver
import os

#登录并通过浏览器进入待爬页面
driver = webdriver.Firefox()
driver.get("https://login.alibaba-inc.com/verification/smsOrToken.htm?BACK_URL=http%3A%2F%2Fabc.aliyun-inc.co"
"m%2F&CONTEXT_PATH=%2F&CLIENT_VERSION=0.3.9&APP_NAME=aliyun-business-center&CANCEL_CERT=true")
os.system('pause')
driver.switch_to_window(driver.window_handles[-1]) # 获取当前打开窗口句柄

#输入待爬取页数
page = input('请输入待爬取页数:')

#开始循环爬取
row = 1 #初始化写入元素的行
book = xlwt.Workbook() #打开一个excel
sheet1 = book.add_sheet('sheet1', cell_overwrite_ok=True)
heads = ['任务分类ID', '任务分类名称', '任务ID', '任务名称', '分发UID', '创建时间', '任务状态', '执行时间',
'完成时间', '责任人姓名', '责任人工号', '所属分组ID', '所属分组名称', '所属部门ID', '所属部门名称']
print(u'\n准备将数据存入表格...')
for x in range(int(page)):
# 爬取数据对应的html

soup = BeautifulSoup(driver.page_source, 'html.parser')
content = soup.find_all('td',
class_=['td-0', 'td-1', 'td-2', 'td-3', 'td-4', 'td-5', 'td-6', 'td-7', 'td-8', 'td-9',
'td-10', 'td-11', 'td-12', 'td-13', 'td-14'])
#将信息放入一个list中,创建new_list(方便后续存入excel)(语法糖)
data_list=[]
for data in content:
if data.text =='':
data_list.append(' ')
else:
data_list.append(data.text)
new_list=[data_list[i:i+12] for i in range(0,len(data_list),12)]

#数据存入excel表格
ii=0
#写入表头
for head in heads:
sheet1.write(0,ii,head)
ii+=1
#写入表元素
for list in new_list:
col=0
for data in list:
sheet1.write(row,col,data)
col+=1
row+=1
driver.find_element_by_class_name("next turn_page").click()
book.save('D:\研究生\实习\捷云\授权服务中心任务完成报表.xls')
print(u'\n录入成功!')

网页的源码如下:


劳烦您看下,我是爬虫初学者
chuifengde 2017-06-23
  • 打赏
  • 举报
回复
给出你的代码
内容概要:本文系统研究了基于监督学习的多模态MRI脑肿瘤分割方法,重点聚焦于利用监督体素的纹理特征实现肿瘤区域的精确识别。文章首先阐述了监督学习的基本原理及多模态MRI在医学影像分析中的独特优势,进而深入探讨了灰度共生矩阵(GLCM)、局部二值模式(LBP)和小波变换等多种纹理特征提取技术。在此基础上,构建了基于传统特征工程的分类器模型以及融合深度学习的混合模型,并通过在公开数据集上的实验验证其分割性能,采用Dice系数、敏感度、特异度等指标进行全面评估。研究还剖析了当前面临的关键挑战,如高质量标注数据稀缺、模型泛化能力受限、可解释性不足以及肿瘤边界模糊等问题,进一步提出了结合半监督学习、多任务学习、模型可解释性增强及多模态信息深度融合等未来发展方向,为提升脑肿瘤自动分割的精度与临床实用性提供了系统的理论依据和技术路径。; 适合人群:具备医学图像处理或机器学习基础知识,从事生物医学工程、人工智能辅助诊断、计算机视觉等相关领域的科研人员及研究生。; 使用场景及目标:①掌握多模态MRI脑肿瘤分割中的关键技术流程与核心算法;②深入理解监督体素与纹理特征在医学图像分割中的具体应用价值;③为研发高精度、强可解释性的自动化脑肿瘤分割系统提供方法参考与技术支持。; 阅读建议:建议结合提供的Matlab代码实现同步学习,重点关注纹理特征提取与模型构建部分,动手复现实验过程以深化理解,同时重视数据预处理与结果评估环节,全面提升科研实践与创新能力。

37,737

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • WuKongSecurity@BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧