Python 学习笔记 118

2020-11-01  本文已影响0人  夜羽萧轩

环境配置成功,开始编写

https://www.cnblogs.com/zhongfengshan/p/9520813.html

其实就是个抄代码的工作,这里贴个源帖子地址吧! -_-||

模拟打开网站

其实前面的代码就能做到

模拟输入账号密码

主要牵扯到的就是准确定位程序输入框,然后精准传值的问题

如何科学的让程序定位到输入框

元素定义法

失效,未定义成功

Xpath定义法

成功 准确

还好之前有学习过Xpath相关课程,网页还是推荐使用Xpath定位法

好多浏览器自身就提供复制对应元素的Xpath路径的功能,只要自己会调用就行了

等待

等待让网页加载完成就OK啦

点点点

调用selenium的模块模拟 鼠标点击

搞定


反思及不足

基本功能算是实现了,可以完成自动登陆签到和点击,开发下应该还能完成更多的功能

后续可扩展项目

1.使用cookies传值实现免登陆签到,保护账户安全
2.使用浏览器代理实现手机网页的访问,绕过一些网页限制
3.程序打包+配合windows计划任务实现每日自动纪念馆签到
4.其他...

不足

还是没办法完成预定的设定任务,没法实现微信认证的论坛自动签到

-_-||


程序代码

from selenium import webdriver
from time import sleep
import random

chrome_driver = 'C:\Program Files (x86)\Google\Chrome\Application\chromedriver.exe'  #chromedriver的文件位置
driver = webdriver.Chrome(executable_path = chrome_driver)
driver.maximize_window()
driver.get("https://www.lemao8.com/member.php?mod=logging&action=login") #访问论坛登陆界面

#Update@2020年10月27日22:27:34
sleep(4)
#driver.find_element_by_css_selector('px p_fre')
driver.find_element_by_xpath('/html/body/div[7]/div/div[2]/div/div[2]/div[1]/div[1]/form/div/div[1]/table/tbody/tr/td[1]/input').send_keys('******') #输入账号 将*替换为实际账号
sleep(1)
driver.find_element_by_xpath('/html/body/div[7]/div/div[2]/div/div[2]/div[1]/div[1]/form/div/div[2]/table/tbody/tr/td[1]/input').send_keys('********') # 输入密码 
sleep(1)
driver.find_element_by_xpath("/html/body/div[7]/div/div[2]/div/div[2]/div[1]/div[1]/form/div/div[6]/table/tbody/tr/td[1]/button").click()

#Update@2020年10月27日22:56:43  自动登陆成功
sleep(10)

driver.find_element_by_xpath("/html/body/div[5]/div/div[2]/ul/li[2]/a").click() #寻找签到按钮
sleep(4)
driver.find_element_by_xpath("/html/body/div[7]/div[3]/div[1]/div[1]/a").click() #点击签到按钮
上一篇下一篇

猜你喜欢

热点阅读