鱼C论坛

 找回密码
 立即注册
查看: 3401|回复: 1

[技术交流] Do interesting things with Python —— 微信自动喊话【Selenium篇1】

[复制链接]
发表于 2016-7-13 13:20:08 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
f430c525ee30bb18bb59c66194233aec27c9a7ec1d00d-JM6CyV_fw658.png

这是番外篇。
不想看可略过。


Selenium也是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE(7、8、9)、Mozilla Firefox、Mozilla Suite等。这个工具的主要功能包括:测试与浏览器的兼容性--测试你的应用程序看是否能够很好得工作在不同浏览器和操作系统之上。测试系统功能--创建回归测试检验软件功能和用户需求。支持自动录制动作和自动生成 .Net、Java、Perl等不同语言的测试脚本。Selenium 是ThoughtWorks专门为Web应用程序编写的一个验收测试工具。
---

本是测试应用程序能否兼容浏览器的工具,
也是可以用来模拟操作的,就像简介中说的那样,
就像真正的用户操作一样。

用此方法有些取巧,
由于水平不济,也只想到这个方法了。




Selenium学习笔记。

默认你已经安装好了Firefox(其他浏览器也可)与selenium。

让我们写起来第一个脚本。
from selenium import webdriver


browser = webdriver.Firefox()

browser.get('http://bbs.fishc.com/')

print(browser.page_source)


我想这很容易看懂,就算之前没看懂那么运行之后也看懂了。

360截图20160713123639588.jpg

P.s  最好在交互环境下学习selenium而不是在文件中一次次运行。

小试牛刀。
我们成功用它打开了浏览器并打开了鱼C首页。

那我想看所有带有"爬虫"的文章怎么做?

这里就要用到find了。

browser.find_element_by_id
360截图20160713125007698.jpg
我们审查元素后发现,搜索框有个唯一id,
搜索按钮也有一个唯一id。
browser.find_element_by_id('scbar_txt').send_keys('爬虫')
browser.find_element_by_id('scbar_btn').click()

oh~,成功搜索了。
360截图20160713125211312.jpg

随之而来的,你可能就有一个疑问。

我们再次打印browser.page_source时,
发现还是鱼C首页并不是我们搜索的页面,
那我们怎么让selenium找到我们打开的第二个页面呢。
>>>browser.window_handles
['{51b24090-c237-4706-9e3f-51226314b5de}', '{6f152fe3-3c34-4297-8a81-b530e6d9312b}']
然后你就发现了两个数据,
那第一个自然就是鱼C首页,
第二个就是我们打开的页面了。
>>> browser.switch_to_window( '{6f152fe3-3c34-4297-8a81-b530e6d9312b}')
>>> browser.page_source

这很不方便,数据一点也不人性化,
我们可以根据它的标题来取个名字,方便我们切换。
>>> tags_name = {}
>>> tags_name[browser.title[:2]] = browser.current_window_handle
>>> browser.switch_to_window(browser.window_handles[0])
>>> tags_name[browser.title[:2]] = browser.current_window_handle
>>> tags_name
{'鱼C': '{51b24090-c237-4706-9e3f-51226314b5de}', '爬虫': '{6f152fe3-3c34-4297-8a81-b530e6d9312b}'}

这样我们传入用"鱼C","爬虫"就可以快速切换页面,并且打开很多标签也不会变得乱乱的了。

评分

参与人数 1荣誉 +10 鱼币 +10 贡献 +10 收起 理由
冬雪雪冬 + 10 + 10 + 10 热爱鱼C^_^

查看全部评分

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-7-13 13:34:10 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-22 14:31

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表