马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
简介:我在写一个自动抢课软件,大学生苦啊!
逻辑顺序是:1. 从我们学校官网 https://www.ucf.edu/ 点击 UCF SIGN IN + 。
2. 然后再点击 myUCF。
3. 然后会转到另外一个界面。
我有两种设想: 1. 直接用登录界面网址,打开登录界面。但是貌似我们学校官网挺安全,自动刷新地址。会报错如下面一样:UCF Federated Identity
Authentication Error 1
An error occurred during authentication. Please try the following steps:
Completely close all web browser sessions.
Open a new web browser session.
Verify and type the URL of the site you wish to access.
Retry signing on using your username and password.
If you continue to receive this message, please try using a different browser, contact the web page’s support staff, or contact the UCF IT Support Center at (407) 823-5117 or itsupport@ucf.edu.
翻译:UCF联合身份
验证错误1
身份验证期间发生错误。请尝试以下步骤:
完全关闭所有Web浏览器会话。
打开一个新的Web浏览器会话。
验证并键入您要访问的站点的URL。
重试使用您的用户名和密码登录。
如果您继续收到此消息,请尝试使用其他浏览器,与网页的支持人员联系,或通过(407)823-5117或itsupport@ucf.edu与UCF IT支持中心联系。
2.通过点击 UCF SIGN IN + ,然后再点击 myUCF, 然后会转到我的登录页面界面。但是我的代码会报错:Exception has occurred: ElementNotInteractableException
Message: element not interactable
(Session info: chrome=89.0.4356.6)
我查过说是运行慢,需要加一个wait function, 我也跟着StackOverflow改了,然并卵!!对了我是个半吊子Python使用者,我学的是C和Java,大佬嘴下留情。
我的code:import account
import time
print(account.email)
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
class CheckOutBot:
def __init__(self):
self.driver = webdriver.Chrome(executable_path=r'C:\Users\10294\Desktop\Ucf_Web\chromedriver.exe')
self.driver.get("https://www.ucf.edu/")
def login(self, email, password):
#版本1
#self.driver.get('https://idp-prod.cc.ucf.edu/idp/profile/SAML2/Redirect/SSO?execution=e1s1')
#版本2
self.driver.find_element_by_id('ucfhb-signon-logo').click()
self.driver.find_element_by_id('ucfhb-myucf').click()
time.sleep(10)
email_input = self.driver.find_element_by_id("username")
email_input.clear()
email_input.send_keys(email)
pass_input = self.driver.find_element_by_id("password")
pass_input.clear()
pass_input.send_keys(password)
sign_on = self.driver.find_element_by_name('_eventId_proceed').click()
def __del__(self):
self.driver.close()
if __name__ == "__main__":
checkout_bot = CheckOutBot()
checkout_bot.login(account.email, account.password)
#time.sleep(20)
import time
from selenium import webdriver as wd
if __name__ == '__main__':
browser = wd.Chrome()
browser.get("https://www.ucf.edu/")
time.sleep(5)
browser.find_element_by_xpath("//button[@id='ucfhb-signon-logo']").click()
time.sleep(3)
browser.find_element_by_xpath("//a[@id='ucfhb-myucf']").click()
|