Selenium实战脚本集—新浪微博发送QQ每日焦点
http://www.spasvo.com/ceshi/open/kygncsgj/Selenium/201549150822.html

  背景

  很多同学在工作中是没有selenium的实战环境的,因此自学的同学会感到有力无处使,想学习但又不知道怎么练习。其实学习新东西的道理都是想通的,那就是反复练习。这里乙醇会给出一些有用的,也富有挑战的练习,帮助大家去快速掌握和使用selenium webdriver。多用才会有感触。

  练习

  首先去www.qq.com的首页把今日话题的标题和url拿到

  然后去weibo.com登陆,登陆后发一条微博,内容就是今题话题的标题和url

  用到的知识点

  自动登录。微博登录的时候有可能会有验证码,所以自动登录什么的是极好的;这里建议用profile进行自动登录;

  爬虫知识。用webdriver去也页面上爬一些内容。用到的核心api是getAttribute;

  css选择器。微博的文本框用css选择器去定位比较方便;

  参考答案

#coding: utf-8

from selenium.webdriver.chrome.options import Options

from selenium import webdriver

from time import sleep

op = Options()

op.add_argument('user-data-dir=C:UsersAdministratorAppDataLocalGoogleChromeUser Data')

dr = webdriver.Chrome(chrome_options=op)

dr.get('http://www.qq.com')

today_top_link = dr.find_element_by_css_selector('#todaytop a')

content = today_top_link.text

url = today_top_link.get_attribute('href')

print content

print url

dr.get('http://www.weibo.com')

sleep(2)

dr.find_element_by_css_selector('#v6_pl_content_publishertop .W_input').send_keys(content+url)

dr.find_element_by_css_selector('#v6_pl_content_publishertop .btn_30px').click()

sleep(2)

dr.close()

  常见错误

  xp和win7下面chrome 的profile路径是不一样的

  Windows XP:%USERPROFILE%Local SettingsApplication DataGoogleChromeUser Data

  Windows Vista/Windows 7/Windows 8:%LOCALAPPDATA%GoogleChromeUser Data


Selenium实战脚本集—新浪微博发送QQ每日焦点的更多相关文章

  1. selenium实战脚本集——新浪微博发送QQ每日焦点(火狐)

    selenium实战脚本集(1)——新浪微博发送QQ每日焦点,乙醇用谷歌实现的,下边是用火狐实现的. 代码如下: # coding = utf-8 from selenium import webdr ...

  2. selenium实战脚本集(1)——新浪微博发送QQ每日焦点

    背景 很多同学在工作中是没有selenium的实战环境的,因此自学的同学会感到有力无处使,想学习但又不知道怎么练习.其实学习新东西的道理都是想通的,那就是反复练习.这里乙醇会给出一些有用的,也富有挑战 ...

  3. selenium实战脚本集(2)——简单的知乎爬虫

    背景 很多同学在工作中是没有selenium的实战环境的,因此自学的同学会感到有力无处使,想学习但又不知道怎么练习.其实学习新东西的道理都是想通的,那就是反复练习.这里乙醇会给出一些有用的,也富有挑战 ...

  4. Selenium实战脚本集(4)--简单的开发者头条客户端

    描述 去开发者头条抓取本日的top 10内容,也就是排在前面的10个,需要抓取标题和url 将这些内容保存在数据库,推荐使用sqlite 写个简单的客户端,要求可以展示每日的内容,点击标题后可以打开浏 ...

  5. Selenium实战脚本集(3)--抓取infoq里的测试新闻

    描述 打开infoq页面,抓取最新的一些测试文章 需要抓取文章的标题和内容 如果你有个人blog的话,可以将这些文章转载到自己的blog 要求 不要在新窗口打开文章 自行了解最新的测试思潮与实践

  6. centos 7 keepalived故障邮件通知实战(附Python邮件发送脚本)

    centos 7 keepalived故障邮件通知实战(附Python邮件发送脚本) #####################     sendmail.py  begin     ######## ...

  7. 【python】脚本连续发送QQ邮件

    今天习得用python写一个连续发送QQ邮件的脚本,经过测试,成功给国内外的服务器发送邮件,包括QQ邮箱.163邮箱.google邮箱,香港科技大学的邮箱和爱丁堡大学的邮箱.一下逐步解答相关技巧. 首 ...

  8. 实战Netty集群

    疯狂创客圈 Java 分布式聊天室[ 亿级流量]实战系列之 -25[ 博客园 总入口 ] 1.写在前面 1.1 实战Netty集群的理由 Java基础练习中,一个重要的实战练习是: java的聊天程序 ...

  9. Python接口测试实战2 - 使用Python发送请求

    如有任何学习问题,可以添加作者微信:lockingfree 课程目录 Python接口测试实战1(上)- 接口测试理论 Python接口测试实战1(下)- 接口测试工具的使用 Python接口测试实战 ...

随机推荐

  1. NoSQL数据库介绍(4)

    4 键/值存储      讨论了经常使用的概念.技术和模式后.第一类NoSQL数据存储会在本章进行研究. 键/值存储通常有一个简单的数据模型:一个map/dictionary,同意客户按键来存放和请求 ...

  2. 获取网站的BaseURL

    //get base URL            var _urlstr = window.location.href;            if (_urlstr.indexOf("? ...

  3. 设置Eclipse中properties文件打开方式myeclipse一样有source和properties两个视图方法

    东北大亨: 说明:如果想在eclipse的properties文件打开的方式出现source和properties视图就需要添加JBossTools插件 下面介绍如果添加插件: 1.打开官网 http ...

  4. 1355: [Baltic2009]Radio Transmission[循环节]

    1355: [Baltic2009]Radio Transmission Time Limit: 10 Sec  Memory Limit: 64 MBSubmit: 796  Solved: 538 ...

  5. 我的Android进阶之旅------>Android利用Sensor(传感器)实现水平仪功能的小例

    这里介绍的水平仪,指的是比较传统的气泡水平仪,在一个透明圆盘内充满液体,液体中留有一个气泡,当一端翘起时,该气泡就会浮向翘起的一端.    利用方向传感器返回的第一个参数,实现了一个指南针小应用. 我 ...

  6. 前端基础之---css

    css  介绍 css 规则有两个主要的部分构成 : 选择器  , 以及一条或多条声明. 现在的互联网前端分为三层 : ● HTML :超文本标签机语言,从语义的角度描述页面结构. ● CSS : 层 ...

  7. csrf防范笔记

    1.验证Http的refer字段 http有一个refer字段,用以记录该http请求的来源地址 好处: 简单便捷,后台开发人员只需要设置一个拦截器 缺点: Referer 的值是由浏览器提供的,虽然 ...

  8. python源码安装的包的卸载

    python setup.py install安装的包如何卸载 在使用源码安装的过程中,记录安装文件细节,如: python setup.py install --record log 这时所有的安装 ...

  9. 迁移博客到Github Pages

    由于种种原因,我的博客迁移到了 https://phuker.github.io/ .虽然没有多少人气,但是希望能继续见证一个技术渣的成长.

  10. 7.8 LZW压缩的实现

    7-10 lzw.c #include <stdlib.h> #include <stdio.h> #define BITS 12 //每个数据项的二进制位数 #define ...