大家好久不见!我是之前混迹于碧蓝区的白影的鹰。
上午的时候白影的鹰学了用selenium访问并操作网页,突发奇想尝试做一个里世界自动签到器。经过2个小时的调试,终于大功告成啦(才不是因为菜鹰没学好反复调试了1个小时)!废话不多说,直接上图:
现在这个程序处于基本能用的状态(丢人!),有个问题是他只能用于非最大化的网页,而最大化的网页时第12行代码会报:
Message: element not interactable (Session info: chrome=89.0.4389.114)
的错误,经过检查发现是因为两种状态下的网页登录按钮是两个代码块:
非最大化:
最大化:
对于这个问题,白影的鹰......当然不!知!道!怎!么!修!(QAQ),“还没学、不清楚、以后再说”三联奉上。希望有dalao可以点拨一下这只菜鹰OvO。
最后贴一下全部代码:
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time
# 定义浏览器对象
driver = webdriver.Chrome(executable_path="这里是你的chromedriver.exe的绝对路径(例:G:\chromedriver\chromedriver.exe)")
# 访问网址
driver.get("http://acgn.zone")
# 保险起见等待响应3sec(救救垃圾校园网速!!!)
time.sleep(3)
# 点击登录按钮
driver.find_element_by_xpath('//*[@id="header"]/div/a[2]/i').click()
# 输入用户名和密码
driver.find_element_by_id("email").send_keys("你的里世界用户名或邮箱")
driver.find_element_by_id("password").send_keys("你的里世界密码")
# 点击登录
driver.find_element_by_id("submit").click()
# 再等待3sec
time.sleep(3)
# 点击签到
driver.find_element_by_id("sg_sign_mobile2").click()
# 再等待3sec
time.sleep(3)
# 退出程序
driver.quit()
有需要的请随便拿,反正这种简单到简陋的代码大家都会。
运行这段代码需要以下几项:带有所有对应包的Python环境,Google Chrome浏览器,名为chromedriver.exe的自动测试工具(后附)。
chromedriver.exe:
链接:https://pan.baidu.com删/s/1CgydurdCPdQx删EsKrbf8lFA
提取码:lsjd
=======================================================================================
下面是例行时间:
所有图片与文字为自创 ,附件为网络资源。本文章仅供学习使用,不含有任何商业成分!有关信息的最终解释权归本人所有,未经允许不得将此文章任意内容以转载、复制、拍照等方式传播至站外与网络!本站及白影的鹰不承担任何有关违反上述要求所造成的后果的责任!以上。