tengge_ 2022-11-06 17:23 采纳率: 33.3%
浏览 42
已结题

selenium登录时显示非法请求

问题遇到的现象和发生背景

想用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()

运行结果及报错内容

img

我想要达到的结果

求解

  • 写回答

1条回答 默认 最新

  • tengge_ 2022-11-09 11:34
    关注

    模拟浏览器打开网站

    #driver = webdriver.Chrome()将这一行去掉
    #下一行改成样子,问题就解决了
    browser.get(url)

    评论

报告相同问题?

问题事件

  • 系统已结题 11月14日
  • 创建了问题 11月6日