Python+Selenium 简单的实例
来源:互联网 发布:网络文员兼职 编辑:程序博客网 时间:2024/06/05 08:47
1、Baidu_Serch.py
#coding=utf-8from selenium import webdriverfrom selenium.common.exceptions import NoSuchElementException,TimeoutException#from selenium.common.exceptions import from selenium.webdriver.support.ui import WebDriverWait # available since from selenium.webdriver.common.keys import Keysfrom time import sleepimport os,timedriver = webdriver.Chrome()print u"加载驱动完成.."driver.get("https://ww.baidu.com")#加载页面print u"加载页面完成.."time.sleep(1) # 方法一 try: assert u"百度一下" in driver.title print ('Assertion baidu title pass.') except Exception as e: print ('Assertion baidu title fail.', format(e)) driver.maximize_window() # 浏览器全屏显示print u"最大化页面窗口完成.."elem = driver.find_element_by_name("wd") # Find the query boxelem.send_keys(u"今日头条" + Keys.RETURN)#elem.submit() 提交表单方法print u"输入搜索关键字..."time.sleep(1) # Let the page load, will be added to the API'''#driver.find_element_by_id("kw").clear()#driver.find_element_by_id("kw").send_keys(u"pyse自动化测试")#driver.type("//*[@id='kw']",u"pyse自动化测试")#driver.find_element_by_id("su").send_keys(Keys.ENTER)#driver.click("//*[@id='su']")#也可定位登陆按钮,通过enter(回车)代替click()driver.find_element_by_id("su").send_keys(Keys.ENTER)'''#方法一 采用包含判断,建议第一种try: driver.find_element_by_xpath("//*[@id='su']") print "校验通过,百度一下按钮存在"except NoSuchElementException: assert 0, "校验不通过"#raw_input()#停止在当前光标处;# 方法二#time.sleep(1)sleep(1)#验证 今日头条_百度搜索 标题是否存在if u"今日头条_百度搜索" == driver.title : print ('Assertion dayevenery title pass.') else: print ('Assertion dayevenery title fail.') print driver.title#raw_input()#停止在当前光标处;#更多验证方法'''try: self.assertEqual(u"今日头条_百度搜索", driver.title) print u"标题验证 Pass"except AssertionError as e: print u"找不到这个标题" try: assert u"今日头条_百度搜索" in driver.title self.assertFalse(driver.title) print u"标题验证 True"except AssertionError as e: print u"找不到这个标题 Flase" #判断页面上有无id为kw的元素if is_element_exist("#kw") : driver.find_element_by_id("kw").send_keys("")#判断页面有无标签为input元素if is_element_exist("input") : driver.find_element_by_tag_name("input").send_keys("eveneryday news!")'''#================================== try: # we have to wait for the page to refresh, the last thing that seems to be updated is the title WebDriverWait(driver, 10).until(lambda driver : driver.title.lower().startswith("")) # You should see "cheese! - Google Search" print u"等待时间,打印当前页面的标题 :"+driver.title finally: print (u"-----> 请按Enter 键进行下一步操作...") raw_input()#停止在当前光标处; #driver.close() print u"执行完成,即将关闭驱动..." driver.quit()#与close方法相同 driver.quit() #==================================2、ClikButton.py
#!C:/Python27#coding=utf-8from selenium import webdriver#from selenium.webdriver.support.ui import WebDriverWait#from selenium.webdriver.support.wait import WebDriverWait#WebDriverWait 导入from selenium.webdriver.common.keys import Keysimport os,timedriver = webdriver.Chrome()driver.get("https://cas.sf-express.com/cas/login?service=http%3A%2F%2Fhos.sf-express.com%2Fframe.pvt&apptiket=dbe979f1b41f6ea23622b639ceb7acac18cf829000ed010c")time.sleep(1)driver.maximize_window() # 浏览器全屏显示print ('浏览器全屏显示 ...')#输入用户名和密码driver.find_element_by_id("username").send_keys("89003422")driver.find_element_by_id("password").send_keys("518.com.12")time.sleep(10)#手动输入验证码#driver.find_element_by_id("verifyCode").send_keys("ABCD")#点击登录driver.find_element_by_xpath("//*[@id='loginForm']/div[5]/div/img").click()time.sleep(8)#开始执行点击事件 #driver.find_element_by_id("outputButton").click()printprint ('开始执行任务,执行间隔时间为10分钟 ...')printfor i in range(1,3): ISOTIMEFORMAT="%Y-%m-%d %X" strTime = time.strftime( ISOTIMEFORMAT, time.localtime()) print u"正在执行第 ",i,"次...",strTime time.sleep(5) #执行点击事件 driver.find_element_by_id("outputButton").click() time.sleep(60) #刷新浏览器 driver.refresh() time.sleep(535) print print u"已执行完第 ",i,u"次,","共延时",i*10,"分" printprint ('已执行完成...At The End OF,'+strTime)printprint ('开始执行方法二 ...')printdef ClickStart(): for i in range(1,60): print u'正在执行第 ',i,"次 ...",strTime #刷新浏览器 time.sleep(10) driver.refresh() #执行点击事件 #driver.find_element_by_id("outputButton").click() time.sleep(590) print print u"已执行完第 ",i,"次","共延时",i*600/60,"分" print ClickStart()printprint ('开始工作啦...')#driver.find_element_by_id("inputButton").click()printprint ('工作已完成...')
3、QQ_Goto.py
#!-*- coding:utf-8 -*-from pyvirtualdisplay import Displayfrom selenium import webdriverimport requests#要签到的QQ群号列表groupid = [123456789,987654321]headers = {"Content-Type":"application/x-www-form-urlencoded","Host":"qiandao.qun.qq.com","Origin":"http://qiandao.qun.qq.com","Referer": "http://qiandao.qun.qq.com","User-Agent":"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.84 Safari/537.36"}#创建一个启动session的请求对象s = requests.Session()def login(): try: #启动一个虚拟桌面 display = Display(visible=0, size=(1100,700)) display.start() driver = webdriver.Firefox() driver.set_window_position(20, 40) driver.set_window_size(1100,700) #打开QQ登录界面 准备登录 driver.get('http://qzone.qq.com') driver.switch_to_frame('login_frame') driver.find_element_by_id('switcher_plogin').click() driver.find_element_by_id('u').clear() #填写QQ帐号 driver.find_element_by_id('u').send_keys('qq号') driver.find_element_by_id('p').clear() #填写QQ密码 driver.find_element_by_id('p').send_keys('****zh30.com****') #模拟点击登录按钮 执行登录 获取cookie driver.find_element_by_id('login_button').click() cookies = driver.get_cookies() #退出浏览器 driver.quit() display.stop() #return cookies except: passcookies = login()for cookie in cookies: if cookie['name'] == 'skey': skey = cookie['value'] s.cookies.set(cookie['name'], cookie['value'])#计算bkn并存入cookiee = 5381for i in range(len(skey)): e = e + (e<<5)+ord(skey[i])bkn = str(2147483647 & e)s.cookies.set("Gtk", bkn)#签到方法def sign(groupid): for gid in groupid: response = s.post("http://qiandao.qun.qq.com/cgi-bin/sign", data={"gc":gid, "is_sign":0, "bkn":bkn}, headers=headers) responseJson = response.json() if responseJson.has_key('em') and responseJson['em'] == 'no login': break#开始签到sign(groupid)
0 0
- Python+Selenium 简单的实例
- Python selenium的简单使用
- selenium+Python 实现简单的网页测试
- python+selenium 识别简单的二维码
- Selenium WebDriver java 简单实例
- selenium实例:python登录webqq
- python selenium expected_conditions使用实例
- python selenium expected_conditions使用实例
- python+Selenium自动签到实例
- 简单的python+selenium选择浏览器的例子
- 轻松自动化---selenium-webdriver(python) (三) 简单元素的定位
- 基于Python+selenium+HTMLTestRunner简单的登陆脚本
- 【python】用selenium webdriver做简单的表格提交
- 初学python+selenium之路2:窗口简单的定位
- Selenium + PhantomJS + python 简单实现爬虫的功能
- python+selenium初级(2)—简单元素的操作
- python selenium+phontomjs的详细用法及简单案例
- selenium的简单实用
- OpenStack容器化之路:Kolla项目介绍
- Servlet 数据库访问
- MapReducer程序调试技巧(搭建伪分布式集群)
- android自定义toast
- iOS基础之OC简单控件知识了解(二)
- Python+Selenium 简单的实例
- 微信小程序滚动Tab选项卡:左右可滑动切换
- 汇编程序:植入程序的程序(二)
- 《Android群英传》笔记3——Android控件架构
- 用java读取properites文件值,并且将值存入类变量(static )以方便获取
- 在ubuntu上安装Cmake、opencv2.4.9、PCL1.8、g2o
- Android 动画
- 误删手机联系人怎么恢复
- Linux和AIX主机获取主机帐号创建时间和最后一次登录时间