练习_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 ()