一文学会使用selenium, 并实现登录挂英语网站不掉线

news/2024/5/9 4:31:02/文章来源:https://blog.csdn.net/ljt735029684/article/details/80879017

本文用于快速入门或者复习selenium的webdriver但不讲解如何安装selenium以及ChromeDriver

先教一些简单功能,各函数功能在注释里

from selenium import webdriver
import time#访问百度首页
first_url = 'http://www.baidu.com'
print("正在访问%s" % (first_url))
driver.get(first_url)#打印网页源码
print(driver.page_source)#访问新闻页面
second_url = 'http://news.baidu.com'
print("正在访问%s" %(second_url))
driver.get(second_url)#回退到百度首页
print("回退到百度首页")
driver.back()#前进到新闻页
print("前进到新闻页")
driver.forward()#刷新当前页面
driver.refresh()#查看当前网页url
print(driver.current_url)#滑动进度条到最低端,使用javaScript
driver.execute_script('window.scrollTo(0, document.body.scrollHeight)')
time.sleep(1)#打开新的选项卡,模拟javaScript
driver.execute_script('window.open()')#切换选项卡,按列表切到第几个选项卡
driver.switch_to_window(driver.window_handles[1])
driver.get('http://www.sougou.com')
time.sleep(3)#关闭选项卡
driver.close()
time.sleep(1)
#关闭当前驱动器
driver.quit()

selenium的webdriver主要还是定位。。。定位方法有CSS定位器跟XPath或者使用id,这里不详细解释,请自行使用


学校要求挂英语网站时间达到30个小时,但是那破网站一直断。所以,咳咳。。本文简单使用不断刷新的方法保持英语网站的Cookies

#coding = utf-8"""author: 贯穿真Shtime: 2018年5月30日21:50:10"""
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
import timedef english_login():"""使用Chrome登录高校外语教学平台返回值 - webdriver"""#创建使用的浏览器driver = webdriver.Chrome()#登录网址driver.get('http://learn.unipus.cn')while True:username = input("请输入账号:")password = input("请输入密码:")#进行登录操作,键入相应的账号密码,定位使用XPATHdriver.find_element_by_xpath('//*[@id="username"]').send_keys(username)driver.find_element_by_xpath('//*[@id="password"]').send_keys(password)#按下一个按钮,定位使用CSS定位器driver.find_element_by_css_selector('#LoginForm > table > tbody > tr:nth-child(3) > td:nth-child(2) > input').click()#隐式等待time.sleep(2)#若登录失败则重新登录try:error = driver.find_element_by_css_selector('body > div:nth-child(3) > div.newlogin_box > div.newlogin_boxnew > div.rightlogin_box > div.third_rightwords > span')if error.text == '您输入的账号/密码有错。\n或是账号已经失效。':print('登录失败,请重新登录')driver.find_element_by_xpath('//*[@id="username"]').clear()except:print('登录成功')return driverdef into_fresh(driver):#显式等待时间设置为10秒wait = WebDriverWait(driver, 10)#创建一个可点击按钮对象link1 = EC.element_to_be_clickable((By.CSS_SELECTOR, '#BookClassDIV > table > tbody > tr > td:nth-child(2) > ul > li:nth-child(10) > a'))#显示等待按钮出现,直到按钮可以被按下wait.until(link1).click()link2 = EC.element_to_be_clickable((By.CSS_SELECTOR, '#ico > ul > p:nth-child(1) > a'))wait.until(link2).click()#隐式等待2stime.sleep(2)#wait.until(EC.frame_to_be_available_and_switch_to_it(driver.window_handles[1]))    #不知用显示等待报错#切换选项卡driver.switch_to_window(driver.window_handles[1])link3 = EC.element_to_be_clickable((By.CSS_SELECTOR, 'body > div.box > div:nth-child(2) > ul > li:nth-child(2) > a > img'))wait.until(link3).click()#循环刷新while True:#刷新当前页面driver.refresh()#打印当前时间now = time.strftime("%Y-%m-%d %H:%M:%S",time.localtime())print(now)time.sleep(60)if __name__ == '__main__':driver = english_login()into_fresh(driver)

子页面frame

如果你用CSS定位器定位不到,那可能是因为在子页面即frame里, 需要切换到子页面里定位

就一句switch_to_frame。然后用完切回父节点


去除alert警告



创建,切换选项卡


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_871372.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Google 联合一些社交网站来对抗 facebook

谷歌 (Google) 将与其它一些行业领先的社交网站联手,共同对抗互联网新贵Facebook。  谷歌将于周四推出一个通用标准集 ( OpenSocial ),允许软件开发者为谷歌旗下社交网站Orkut,以及LinkedIn、hi5、Friendster、Plaxo和Ning等其它社交网站…

搜索引擎SEO外挂:一边搜索,一边看PageRank

搜索引擎SEO外挂:一边搜索,一边看PageRank 下载地址:多么乐站长工具 我原来曾写过一篇统计分析搜索引擎排名和Page Rank 关联分析 的文章。很多人引用,回复和我讨论了我的结论。有赞成的,有反对的,有鼓励的…

seo优化:把百度放进数据库

seo优化:把百度放进数据库 有时候我想,能把百度的数据放进数据库,用广大程序员熟悉的sql语句查询百度的搜索结果应该是一个不错的主意。在这方面Google早已经跨出了一大步,利用Google Search API 把Google的搜索结果放进数据库是很容易办到得…

Web2.0网站的路径依赖--探讨蚂蚁社区为什么要导入博客

郑昀 2007-5-13 以下文章即将讨论的问题涉及这几个关键词: l 网站启动的核心用户从哪里来? l 网站启动时需要什么样的种子用户? l 最初吸引来的种子用户对网站有什么路径依赖作用? 麦田曾经问道:…

实际采用 FleaPHP 的网站

下面都是采用 FleaPHP 框架开发的网站列表,如果发现无效连接请在留言。 如果你有采用 FleaPHP 开发的网站,并且愿意公开网址,可以发邮件到 dualface (at) gmail.com 需要提供的信息包括网站名称和连接地址,以及简单的介绍文字。 云…

[转]开发大型高负载类网站应用的几个要点

开发大型高负载类网站应用的几个要点 作者: nightsailer 来源: http://www.phpchina.com/bbs/thread-15484-1-1.html 看了一些人的所谓大型项目的方法,我感觉都是没有说到点子上,有点难受。 我也说说自己的看法.我个人认为,很难衡量所谓项目是…

[转]从LiveJournal后台发展看大规模网站性能优化方法

从LiveJournal后台发展看大规模网站性能优化方法 作者:于敦德 2006-3-16来源:http://www.example.net.cn/archives/2006/03/olivejournaloio.html 一、LiveJournal发展历程 LiveJournal是99年始于校园中的项目,几个人出于爱好做了这样一个应用…

邀请PHP开发工程师加盟Web3.0新锐网站[工作地点-北京财智国际大厦]

我们的大方向是: 如何更快、更准地帮助用户找到他所需要的信息。这也就是以前搜索引擎诞生的原因。但搜索引擎仅仅是一种解决办法,而且还远不完美。这将是我们致力的方向。我们的两个理念是: 按主题重组织全网内容; 按人…

郑昀邀请网站开发工程师架构师加盟Web3.0新锐网站[工作地点-北京财智国际大厦]

公司新年新气象,刚刚换到了一个大办公室,也离中关村更近了。随着公司规模的扩大,开始了新一轮的招兵买马,哈哈。请各位帮忙看看有没有合适的人选推荐,不胜感谢! 招聘:研发部 招聘岗位1:PHP网站架…

Google 联合一些社交网站来对抗 facebook

谷歌 (Google) 将与其它一些行业领先的社交网站联手,共同对抗互联网新贵Facebook。  谷歌将于周四推出一个通用标准集 ( OpenSocial ),允许软件开发者为谷歌旗下社交网站Orkut,以及LinkedIn、hi5、Friendster、Plaxo和Ning等其它社交网站…

网站推荐机制中的艺术、科学与商务问题

网站推荐机制是电子商务或内容网站的核心功能之一。例如你在一个网站买了一本书后,网站会推荐其他你可能会感兴趣的书。这被认为是亚马逊等电子商务巨头成功的关键。本文对几个出色的推荐系统进行了较透彻的分析。 2006年10月,Netflix搞了一次不寻常的有…

著名杀毒网站 江民再次被黑

以下新闻为转载,文中涉及观点不代表本人立场 前言 . . . 前一阵闹的沸沸扬扬的江民被黑事件,到现在可以说是告一段落。 因为江民被黑事件而一跃成名的河马史诗也消失在了网络中了。 保守的估计来说 可能是学习真正的计算机网络安全知识去了吧。 在各大网站转载的文…

Google Friendly的网站设计

转载自chedong的blog,一篇很好的文章,居然刚刚从简朴生活的blog上看到 版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本声明http://www.chedong.com/tech/google.html 关键词:Google P…

为我的网站预热一下

话说在前面文章提到过准备搞一个网站,经过调研在国内 Google Play 还没有比较成熟的社区给大家讨论,大多数是比较大的社区其中有一个 Google Play 的板块,问题和相关信息更新速度也比较慢,遇到问题很难快速的找到想要的答案&#…

网络安全大赛模拟网站,黑客模拟网站,分享几个玩玩~

最近看了《亲爱的,热爱的》电视剧,一开始是这些网络大赛镜头吸引了我,后面渐渐的陷入了韩商言和年年的甜蜜中。。。据说原著是电竞游戏,电视剧改编成网络安全大赛了,可能是想更多的网友认识下网络安全大赛,…

想要成为python大神,这17个老司机收藏的国外免费学习网站不可错过!

用Python编写代码一点都不难,事实上它一直被赞誉为最容易学的编程语言。 如果你准备学习web开发, Python是一个不错的开始,甚至想做游戏的话,用Python来开发游戏的资源也有很多。 许多程序员都把Python作为编程之旅的开始&#…

一步步构建大型网站架构

之前我简单向大家介绍了各个知名大型网站的架构,亿万用户网站MySpace的成功秘密、Flickr架构、YouTube网站架构、PlentyOfFish 网站架构学习、WikiPedia技术架构学习笔记。这几个都很典型,我们可以从中获取很多有关网站架构方面的知识,看了之…

网站启动SSL, http变为https后,session验证码错误解决方法

网站启动SSL, http变为https后,session验证码错误解决方法 最近公司需要后台启动安全证书,证书安装完毕后,后台老提示 验证码错误,经过几天的研究,此问题已经得到有效解决,现把方法如下。 一、问…

解决织梦手机网站M文件夹动态游览不生成html

今天的做手机网站的时候,发现dede织梦M文件夹下会生成index.html。对于手机网站来说,太麻烦了。每次更新手机网站首页都要把index.html删除掉重新生成。 然而织梦不支持手机网站首页动态游览。只有自己动手,丰衣足食。 百度了很久没有找到方法…