练习_Python3 selenium模拟浏览器自动签到
参考大佬们的教程自己鼓捣出来一个翼狐网的自动签到程序。
不知道为什么网站在加载iframe的登录框时会等待响应很久(这个太影响效率了),希望有大佬帮忙看看。
以下是代码:
# -*- coding: utf-8 -*-
# 自动模拟Chrome登录翼狐网(https://www.yiihuu.com/)签到
# 作者博客:https://www.cnblogs.com/Raine/
# 2019-06-22
import time
from selenium import webdriver
class SignIn:
def __init__(self):
self.browser = webdriver.Chrome() # 模拟浏览器打开网站
self.browser.get("https://www.yiihuu.com/")
# self.browser.maximize_window() #将窗口最大化
def _login_page(self):
time.sleep(1) # 延时加载
self.browser.find_element_by_xpath("//*[@id='J_u-login']/div/a[1]").click()
print('登录页面加载成功。')
time.sleep(2)
def _send_userinfo(self):
# 不知道为什么翼狐网iframe框架出来之后会响应很长时间
# self.browser.stop_client()
self.browser.switch_to.frame('J_iframe')
# 找到输入狂,输入账号密码
self.browser.find_element_by_id("J_account").send_keys("user_name")
self.browser.find_element_by_id("J_password").send_keys("user_pw")
# 模拟点击登录
self.browser.find_element_by_xpath("//*[@id='J_sbbtn']").click()
time.sleep(2)
def _check_signin(self):
self.browser.find_element_by_xpath("//*[@class='tip_bind']/span").click()
text1 = self.browser.find_element_by_xpath("//*[@id='J_u-login']/div[1]/a")
if text1 != '登录':
print('登录成功。')
time.sleep(1)
sign_in_div = self.browser.find_element_by_xpath("//*[@class='toolbar clearfix']/div[3]/span/img")
if sign_in_div.get_attribute('title') == '今日已签到':
print('今日已签到')
else:
sign_in_div.click()
print('签到成功')
def login(self):
self._login_page()
self._send_userinfo()
self._check_signin()
self.browser.quit()
if __name__ == '__main__':
SignIn().login()
参考资料:
[Python3网络爬虫开发实战] 7.1-Selenium的使用 :https://cuiqingcai.com/5630.html
XPath详解,总结 :https://www.cnblogs.com/ktgu/archive/2009/04/16/1353246.html
Python3.x爬虫教程:爬网页、爬图片、自动登录 :https://blog.csdn.net/Evankaka/article/details/46849095
用Python写网页的自动签到 :https://blog.csdn.net/qq_40925239/article/details/83003413
while True :
learning ()

浙公网安备 33010602011771号