|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
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()
-
复制代码
|
-
点击UCF SIGN IN +
-
点击myucf
|