需求
自动登录网站打卡
知识点
selenium
代码
#coding:utf-8
import time
from selenium import webdriver
# 1.创建浏览器对象
driver = webdriver.Chrome()
driver.get('https://acghmoe.com/yinxingfei_zzza-yinxingfei_zzza_hall.html')
# 2.定位元素
driver.find_element_by_class_name('aclogin').click()
time.sleep(3) # 等待识别
driver.find_element_by_xpath("/html/body/div[2]/div[1]/table/tbody/tr[2]/td[2]/div[1]/div[1]/form/div/div[1]/table/tbody/tr/td[1]/input").send_keys('<填自己的账号>') # 因为id是变量,所以用的xpath绝对地址
driver.find_element_by_xpath("/html/body/div[2]/div[1]/table/tbody/tr[2]/td[2]/div[1]/div[1]/form/div/div[2]/table/tbody/tr/td[1]/input").send_keys('填自己的密码')
driver.find_element_by_name('loginsubmit').click()
time.sleep(3)
driver.find_element_by_id('zzza_go').click()
driver.close()
遇到的问题
- chromedriver的安装,在python和浏览器目录下都需要复制;
- subprocess.py报错,可查;
- time.sleep(3)等待浏览器加载,不然会找不到定位元素;
- driver.find_element_by有多种方法,如果失败就用暴力的绝对地址解决;
- xpath绝对地址可以按下图方法复制;