失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > python自学教程读书导图-自学Python第一天:起点读书自动领取经验值(附思路讲解)...

python自学教程读书导图-自学Python第一天:起点读书自动领取经验值(附思路讲解)...

时间:2020-02-09 15:01:46

相关推荐

python自学教程读书导图-自学Python第一天:起点读书自动领取经验值(附思路讲解)...

本帖最后由 gdp990 于 -9-14 14:03 编辑

应大家要求,决定把思路以及教程写一下。

首先明确目的,我想写一个能实现自动签到的程序,那么就要看看假如是我们自己签到都需要哪些步骤。

为方便大家观看我把第一版的代码放上来,这一版是可视化的。

[Python] 纯文本查看 复制代码from selenium import webdriver

from time import sleep

driver = webdriver.Chrome() #这一行的目的是打开chrome浏览器

driver.get("/")#使浏览器打开网页,这里注意网页一定是https://xxx.xxx.xxx/这样子的,不要直接比如,会报错

driver.find_element_by_id("username").send_keys("17715696592")#通过审查元素找到的id来定位用户名输入框并输入

driver.find_element_by_id("password").send_keys("a2680939")#通过审查元素找到的id来定位密码输入框并输入

sleep(1)#等待页面跳转,防止下一个按键找不到登录按钮报错

driver.find_element_by_link_text("登 录").click()

sleep(1)#同上,每当页面跳转的时候最好都等一秒

driver.find_element_by_link_text("经验值等级").click()

driver.find_element_by_link_text("领取").click()

print("领取成功")

sleep(1)#给领取一个延时,防止还没领到就关掉浏览器

driver.quit()

导入库和打开浏览器部分我们就不说了,这里我们重点讲如何定位,因为这也是我在编写过程中感觉到的难点,关于Selenium库的安装与基本命令大家可以看这两个教程,也是我在学习时所用到的两个教程,第一个:/weixin_36279318/article/details/79475388 第二个:/selenium_python

这两个讲的都比较易懂,理论方面大家可以点进去看,然后再来看我这个实操。

第一步,登录

我们仔细看一下这个页面,登录需要输入用户名,密码。然后单击登录,就OK了。我们自己登录的话肯定是这样做了,那如果是程序达成这些操作我们就需要一个能实现类似操作的玩意,就是selenium库。这里我用到的教程是/weixin_36279318/article/details/79475388这里。如何安装以及基本的使用。这里我就不多BB了,大家只要知道这个东西可以模拟我们人手在网页上点击,输入,前进和后退等等就可以了。有兴趣的大家点进去看哈。

首先我们要定位到输入用户名的框框,我们知道用selenium可以进行模拟输入了,但是如何定位呢,我们可以用审查元素,我用的是chrome浏览器,按f12打开审查元素

大家看我选中的这一条,左边对应的页面全部变成了蓝色,这就说明这一条扩展栏对应整个页面,我们一步步点开,然后用鼠标悬停在上面,哪里亮了就说明代码对应着哪个部分

然后逐步选择下去,我们可以看到这一块就对应着用户名这一栏,并且无法再展开了,我们观察代码,发现有一句id="username"

这就可以帮助我们定位,这里就要用到selenium里的命令

[Python] 纯文本查看 复制代码driver.find_element_by_id("username").send_keys("用户名")

这段代码分两个部分——.send之前是用我们前面找到的id来定位输入框,右面的send_keys是进行”往输入框里输入的命令”。同理我们以相同的方式输入密码,接着再定位到他的登录键

这里我们看到这个“登录”的代码里没有id=什么什么,那怎么办呢,我们用另一种定位方法,文本定位,也就是我划红线这里,然后用类似的代码

[Python] 纯文本查看 复制代码driver.find_element_by_link_text("登 录").click()#找到登录键并单击

,这行代码同样分两个部分,.click前面是定位,.click是鼠标单击操作。

——————————————————————————————————我是分割线——————————————————————————————————————————————————————————

今天闲着无聊,正好学校最近开了门Python课程,于是想自己先学习一下。正好在看小说,于是在网上查了一些关于模拟网页点击的教程,写了自己的第一个python源码,很简单的实现起点自动签到。

不过缺陷也有很多,比如这个是多久可以领一次,第一档5分钟,第二档十分钟之类的,所以想把全部奖励都领完的话就需要隔一段时间打开一次。

废话不多说,上源码。

[Python] 纯文本查看 复制代码from selenium import webdriver

from time import sleep

import random

from selenium.webdriver.chrome.options import Options

#无窗口运行

chrome_options = Options()

chrome_options.add_argument('--no-sandbox') #解决DevToolsActivePort文件不存在的报错

chrome_options.add_argument('window-size=1920x3000') #指定浏览器分辨率

chrome_options.add_argument('--disable-gpu') #谷歌文档提到需要加上这个属性来规避bug

chrome_options.add_argument('--hide-scrollbars') #隐藏滚动条, 应对一些特殊页面

chrome_options.add_argument('blink-settings=imagesEnabled=false') #不加载图片, 提升速度

chrome_options.add_argument('--headless') #浏览器不提供可视化页面. linux下如果系统不支持可视化不加这条会启动失败

driver=webdriver.Chrome(chrome_options=chrome_options, executable_path="D:/ChromeDriver/chromedriver.exe")

#定义起点地址

qidian_url = '/'

#打开起点页面

driver.get(qidian_url)

#登录

driver.find_element_by_id("username").send_keys("你的账号/手机号")#这里输入用户名

driver.find_element_by_id("password").send_keys("你的密码")#这里输入密码

sleep(1)

driver.find_element_by_link_text("登 录").click()#找到登录键并单击

#休眠等待

sleep(1)

driver.find_element_by_link_text("经验值等级").click()

driver.find_element_by_link_text("领取").click()#领取经验值

print("签到成功")

sleep(1)#留出响应时间

#退出

driver.quit()

如果觉得《python自学教程读书导图-自学Python第一天:起点读书自动领取经验值(附思路讲解)...》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。