from selenium import webdriver
import csv
import time
from selenium.common.exceptions import NoSuchElementException
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from bs4 import BeautifulSoup
from selenium.webdriver.common.keys import Keys
import requests
import sys
import re
from tabulate import tabulate
USERNAME = ''
PASSWORD = ''
driver = webdriver.Chrome('chromedriver.exe')
driver.get('https://www.iimbx.edu.in/dashboard')
user_input = driver.find_element_by_id('login-email')
user_input.send_keys(USERNAME)
user_password = driver.find_element_by_id('login-password')
user_password.send_keys(PASSWORD)
button = driver.find_element_by_xpath('//*[@id="login"]/div[4]/button')
button.click()
res = driver.execute_script("return document.documentElement.outerHTML")
soup = BeautifulSoup(res, 'html.parser')
courseSection = soup.find_all("section", { "class" : "mycourse_grid_sec" })
courseList = soup.find_all('div', {'class':'col-md-4 col-sm-6 col-xs-6'})
courseinfo = soup.find_all('h2', {'class':'mycourse_title'})
print('list of courses in your dashboard:')
coursesDict = []
# for i in range(0, len(courseinfo)):
# courseAnchorTag = courses.find('a', href=True)
# coursesDict.append({'number': i,'title': courseAnchorTag['title'],'href': courseAnchorTag['href']})
i = 0
for courses in courseinfo:
i = i+1
courseAnchorTag = courses.find('a', href=True)
courseTitle = courseAnchorTag['title']
courseLink = courseAnchorTag['href']
coursesDict.append({'number': i,'title': courseTitle, 'href': courseLink})
print(f'{i}: {courseTitle} : {courseLink}')/上述声明的产出如下:
list of courses in your dashboard:会计与财务: /courses/course-v1:IIMB+EEP_AC104x+EEP_AC104x/course/ 2:战略管理: /courses/course-v1:IIMBx+ST101x+082019EEP/course/ 3: IIMBx大奖: /courses/course-v1:IIMBx+Awards101+2019_T3/course/ 4:战略管理: /courses/course-v1:IIMBx+ST101x+IBA2019/course/ 5:会计与财务: /courses/course-v1:IIMBx+AC104x+102018EEP/course/ 6:人事管理: /courses/course-v1:IIMBx+HR101x+042019CR1/course/7:人事管理: /courses/course-v1:IIMBx+HR101x+0918CR1/course/ 8:人员管理: /courses/course-v1:IIMBx+HR101x+0718CR1/course/ 9:人员管理: /courses/course-v1:IIMBx+HR101x+022019CR1/course/ 10:人事管理导论: /courses/course-v1:IIMBx+HR101x+0917BL1/course/ 11:客户关系管理: /courses/course-v1:IIMBx+MK210x+0917AC1/course/ 12:客户关系管理: /courses/course-v1:IIMBx+MK210x+0817BL1/course/ 13:会计和财务: /courses/course-v1:IIMBx+AC104x+0817EEP1/course/ 14:客户关系管理: /courses/course-v1:IIMBx+MK210x+0817EEP1/course/ 15:人员管理: /courses/course-v1:IIMBx+HR101x+0817EEP1/course/ 16:会计导论-1: /courses/course-v1:IIMBx+AC101x+0817EEP1/course/ 17:战略管理: /courses/course-v1:IIMBx+ST101x+0817CR1/course/ 18:战略与教师可持续企业: /courses/course-v1:IIMBx+ST250x+0817FD1/course/ 19:银行和金融市场: /courses/course-v1:IIMBx+FC201.1x+1017_AC1/course/ 20:预测分析: /courses/course-v1:IIMBx+QM901x+0917AC1/course/ 21:为每个人创业: /courses/course-v1:IIMBx+EP101x+0817AC1/course/ 22:管理会计用于决策: /courses/course-v1:IIMBx+AC102x+0817AC1/course/ 23:市场营销要点简介: /courses/course-v1:IIMBx+MK101+0817CR1/course/ 24:会计导论-1:/课程/课程1:IIMBx+AC101x+2017_R2/course/ 25:银行和金融市场简介: /courses/course-v1:IIMBx+FC201.1x+2017_T2/course/ 26:银行,金融市场与系统: /courses/course-v1:IIMBx+FC201+2017_T2/course/ 27:为每个人创业: /courses/course-v1:IIMBx+EP101x+Instructor-paced/course/ 28:组织设计:创造竞争优势: /courses/course-v1:IIMBx+OB102x+Instructor-paced/course/ 29:战略管理: /courses/course-v1:IIMBx+ST101x+Instructor-paced/course/ 30:管理经济学导论: /courses/course-v1:IIMBx+ES101x_R1+2017_T2/course/ 31: FDP -MOOC简介: /courses/course-v1:IIMBx+FDP001x+2017_T2/course/ 32:会计导论-1: /courses/course-v1:IIMBx+AC101x_R1+2017_T2/course/ 33:会计导论-1: /courses/course-v1:IIMBx+AC101x+Instructor-paced/course/ 34:管理经济学导论: /courses/course-v1:IIMBx+ES101x+Instructor-paced/course/
///
chosen_no = int(input('Please enter the Course Number '))/当我打印上面的语句时,我得到了输入框,上面写着输入课程编号。
/在我输入后,它不会重定向,我不知道任何代码帮助都会被感谢。
发布于 2020-02-29 11:38:26
您可以使用下面的代码获取基于索引的“href”。
lt = [{'number':1,'title':'Accounting and Finance :','href':'/courses/course-v1:IIMB+EEP_AC104x+EEP_AC104x/course/'},
{'number': 2, 'title': 'Strategic Management :',
'href': '/courses/course-v1:IIMBx+ST101x+082019EEP/course/'},
{'number': 3, 'title': 'IIMBx Awards :',
'href': '/courses/course-v1:IIMBx+Awards101+2019_T3/course/ '}
]
chosen_no = int(input('Please enter the Course Number '))
print ([x for i,x in enumerate(lt) if lt[i]['number']==chosen_no][0]['href'])结果:
Please enter the Course Number 1
/courses/course-v1:IIMB+EEP_AC104x+EEP_AC104x/course/发布于 2020-02-29 13:23:33
chosen_no = int(input('Please enter the Course Number you want to Extract: '))
selectedCourse = 0
i = 0
for course in coursesDict:
if course['number'] == chosen_no:
selectedCourse = course
i = i+1
print(selectedCourse)
driver.get('https://your_site_url' + selectedCourse['href'])请尝尝这个
https://stackoverflow.com/questions/60464314
复制相似问题