问题遇到的现象和发生背景
想用Python写个自动打卡发现,selenium登录时一直显示非法请求
用代码块功能插入代码,请勿粘贴截图
import time
from selenium import webdriver
import smtplib
from email.mime.text import MIMEText
只需修改下面三项即可 学号 密码 打卡网址
from selenium.webdriver.common.by import By
from selenium.webdriver import Chrome
option = webdriver.ChromeOptions()
#设置为开发者模式
option.add_experimental_option('excludeSwitches', ['enable-automation'])
option.add_experimental_option('useAutomationExtension', False)
option.add_argument("--disable-blink-features=AutomationControlled")
browser = webdriver.Chrome(options=option)
browser.execute_cdp_cmd('Page.addScriptToEvaluateOnNewDocument', {
'source': 'Object.defineProperty(navigator, "webdriver", {get: () => undefined})'
})
username = ""
password = ""
url = "http://xg.hnsoftedu.com"
下面是每次填报的时候几个需要填写的地方,F12找到这些位置的 full XPath
position:str = "/html/body/div[2]/div[2]/form[1]/h6[1]/input" # 获取位置按钮
dl:str = "/html/body/div[2]/div[2]/form[1]/div/input[1]" # 提交按钮
passwordXpath:str = "/html/body/div[2]/div[2]/form[1]/h6[2]/input"
submit = ' '
ljdk: str = "/html/body/header/div[2]/div/div/div[3]/button/span"
模拟登陆打卡
def do_login(driver):
try:
# 将窗口最大化
driver.maximize_window()
time.sleep(3)
# 找到登录框 输入账号密码
driver.find_element(By.XPATH,ljdk).click()
driver.find_element(By.XPATH,position).send_keys(username)
time.sleep(3)
driver.find_element(By.XPATH,passwordXpath).send_keys(password)
time.sleep(3)
driver.find_element(By.XPATH,dl).click() # 点击登录
# 延时一秒
time.sleep(3)
# 获取位置
driver.find_element_by_xpath(position).click()
# 点击最后的提交按钮
driver.find_element_by_xpath(submit).click()
except Exception as e:
print("出现错误了", e)
if name == 'main':
# 模拟浏览器打开网站
driver = webdriver.Chrome()
driver.get(url)
# 登录并打卡
do_login(driver)
time.sleep(160) # 终端给你时间确认已经打卡成功
driver.quit()
运行结果及报错内容

我想要达到的结果
求解