python selenium 踩坑

想做做信息检索课设,先写个爬虫爬爬微博。

看了一下午微博的api,晚上决定用chromnium。

先通过pip安装selenium,官方文档看一眼,

pip install selenium

然后需要安装浏览器的driver,浏览器的调试模式一样

通过Choco安装,powershell一句话

choco install selenium-all-drivers

完毕。然后开始写代码

 1 from selenium import webdriver
 2 from time import sleep
 3
 4
 5 browser = webdriver.Chrome()
 6 try:
 7     print("open the browser...")
 8     browser.get(r‘http://weibo.com‘)
 9     print(browser.title)
10 except Exception:
11     print(‘browser open failed...‘)
12
13 sleep(5)
14
15
16 print("select href_links...")
17 href_li = browser.find_elements_by_css_selector(‘a‘)
18 print("total links:",len(href_li))
19 print(‘not tag named <a>‘)
20 print(" for all the links")
21 for href_element in href_li:
22     print(href_element.text)

微博首页有js的动态加载,本来打算游客登陆的,结果发现直接访问会卡在一个游客的认证空白页几秒钟,然后针对网页的分析什么都是空的, sleep(5) 之后才能找到想要的东西。

干啥都得等一等,我决定下次用微博的api。。。

原文地址:https://www.cnblogs.com/Liyunkai/p/9471518.html

时间: 2024-10-08 04:44:45

python selenium 踩坑的相关文章

python + selenium 跳坑之旅 (第一弹)

哪怕你再精通selenium,陪伴测试人员最多的还是定位问题. 第一个坑:     要定位的页面,出现html嵌套,也就是ifrmae.在html代码页面很直观的就能发现这个东西.实际就是在一个页面中引用了一个子页面.这样造成我们再用xpath或者css定位的时候直接找不到元素.这个时候我们需要用到一个新的东西来为她定位,其思路大体为:第一步,从父页面切换至子页面:第二步,在子页面定位元素:第三步,返回父页面(这个看个人需要,具体留在哪里需要结合实际). 第一步的实现需要用到一个方法:switc

python爬虫踩坑教程

我们的目标是爬取下面这个个网址上的2010~2018年的数据 http://stockdata.stock.hexun.com/zrbg/Plate.aspx?date=2015-12-31 获取我们需要的表格中的某些列的数据? (这是我从我的微信公众号帮过来的文章) 第一步,我们首先用谷歌浏览器查看网页源码,但是可以说现在的数据都是js动态传输不可能会在原始网页上显示?,所以这一步其实是没用的. 第二步,我们分析网页元素,ctrl+shift+c 依然没有多大用,因为每一页只显示20条数据,而

基于Python技术栈的算法落地踩坑

背景介绍 在一些业务场景,我们需要把离线训练好的模型以微服务部署线上,如果是简单的使用sklearn pipeline,可以保存为XML格式的pmml供Java调用,在配置为4 core,8G内存的docker环境可以提供8K左右的高并发,并且这种docker可以快速大规模部署到PaaS云平台,优势相当明显,实际情况是算法人员会基于Python自定义lambda处理数据,而自定义的lambda是很难保存到pmml中的,并且很多公司的算法团队也是要求基于Python技术栈是 落地的. 踩坑过程 算

Python 踩坑之旅进程篇其四一次性踩透 uid euid suid gid egid sgid的坑坑洼洼

目录 1.1 踩坑案例 1.2 填坑解法 1.3 坑位分析 1.4 技术关键字 1.5 坑后思考 下期坑位预告 代码示例支持 平台: Centos 6.3 Python: 2.7.14 代码示例: 菜单 - Python踩坑指南代码示例 1.1 踩坑案例 小明是个服务器管理员, 他从老管理员手里接手了一个非常繁琐的运维工作: 短暂授权root 账号给不同的 team 接口人运行备份任务 该运维任务有几个特点: 任务需且仅需运行在 root 下 root 账号只能短暂授权给各个小组 通过账号管理平

Python踩坑之旅其一杀不死的Shell子进程

1.1 踩坑案例 踩坑的程序是个常驻的Agent类管理进程, 包括但不限于如下类型的任务在执行: a. 多线程的网络通信包处理 和控制Master节点交互 有固定Listen端口 b. 定期作业任务, 通过subprocess.Pipe执行shell命令 c. etc 发现坑的过程很有意思: a.重启Agent发现Port被占用了 => 立刻想到可能进程没被杀死, 是不是停止脚本出问题 => 排除发现不是, Agent进程确实死亡了 => 通过 netstat -tanop|grep p

&lt;&lt;Python编程:从入门到实践&gt;&gt;踩坑记 Django

<<Python编程:从入门到实践>>踩坑记 Django Django Python 19.1.1.5 模板new_topic 做完书上的步骤后,对主题添加页面经行测试,但是浏览器显示 服务器异常. 个人采用的开发环境是virtual studio code , 测试起来很是难受,因为我配置的debug环境,断点操作没有作用. 经过我不断的测试,才发现我失败的原因是由于之前的误操作,先建立new_pizzas.py后改为new_pizzas.html的,错误就在这里.在我之后新建

Android开发在路上:少去踩坑,多走捷径【转】

作者:gzjay,腾讯MIG无线产品部 高级工程师 最近一朋友提了几个Android问题让我帮忙写个小分享,我觉得对新人还是挺有帮助的,所以有了这个小分享. 1.目前, Android APP开发完成后,通常需要在哪些机型上进行测试? 2.目前, 开发Android APP时,需要考虑的分辨率有哪些? 这两个问题可以合起来回答的. http://developer.android.com/about/dashboards/index.html 源自Google Play的数据,每月都会进行upd

AI相关 TensorFlow -卷积神经网络 踩坑日记之一

上次写完粗浅的BP算法 介绍 本来应该继续把 卷积神经网络算法写一下的 但是最近一直在踩 TensorFlow的坑.所以就先跳过算法介绍直接来应用场景,原谅我吧. TensorFlow 介绍 TF是google开源出来的人工智能库,由python语言写的 官网地址:http://www.tensorflow.org/   请用科学上网访问 中文地址:http://www.tensorfly.cn/ 当然还有其他AI库,不过大多数都是由python 写的 .net 的AI库叫 Accord.net

(转载)Android开发在路上:少去踩坑,多走捷径

1. 目前, Android APP开发完成后,通常需要在哪些机型上进行测试? 2. 目前, 开发Android APP时,需要考虑的分辨率有哪些? 这两个问题可以合起来回答的. http://developer.android.com/about/dashboards/index.html 源自Google Play的数据,每月都会进行update,可以及时了解Android版本比例趋势. 屏幕密度数据 OpenGL ES版本 也可以参考一下国内一个第三方数据:http://www.umind