5
5
from selenium .webdriver .support import expected_conditions as EC
6
6
from selenium .webdriver .common .by import By
7
7
from time import sleep
8
- import json
9
8
10
9
# Xpaths
11
10
xLinkedin = {
@@ -44,9 +43,10 @@ def addCertData(self, name, org, credId, credUrl):
44
43
nameInput = WebDriverWait (driver , 10 ).until (EC .presence_of_element_located (
45
44
(By .XPATH , xLinkedin ['xCertName' ])))
46
45
nameInput .send_keys (name )
46
+ sleep (1 )
47
47
orgInput = driver .find_element_by_xpath (xLinkedin ['xCertOrg' ])
48
48
orgInput .send_keys (org )
49
- sleep (4 )
49
+ sleep (3 )
50
50
orgInput .send_keys (Keys .ARROW_DOWN + Keys .ENTER )
51
51
credIdInput = driver .find_element_by_xpath (xLinkedin ['xCredId' ])
52
52
credIdInput .send_keys (credId )
@@ -63,24 +63,25 @@ def addCertData(self, name, org, credId, credUrl):
63
63
# Chrome environment setup
64
64
opt = webdriver .ChromeOptions ()
65
65
opt .add_argument ('--disable-gpu' )
66
- opt .add_argument ('--headless' )
66
+ # opt.add_argument('--headless')
67
67
driver = webdriver .Chrome (
68
68
executable_path = 'LinkedIn-Certifications-Manager/chromedriver' , options = opt )
69
69
driver .get ('https://linkedin.com' )
70
70
71
71
linkedIn = LinkedIn (email , password )
72
72
linkedIn .login ()
73
73
74
- # Load course data
75
- courseData = json .load (open ('LinkedIn-Certifications-Manager/data.json' ))
76
-
77
74
# Add certifications to linkedin
78
- for org in courseData :
79
- for course in range (len (courseData [org ])):
80
- name = courseData [org ][course ]['name' ]
81
- credId = courseData [org ][course ]['url' ].split ('/' )[- 1 ]
82
- credUrl = courseData [org ][course ]['url' ]
83
- linkedIn .addCertData (name = name , org = org ,
84
- credId = credId , credUrl = credUrl )
85
- print (f'Added: { name } ' )
75
+ while True :
76
+ name = input ('Enter course name[nothing to cancel]: ' )
77
+ if name == '' :
78
+ break
79
+ courseUrl = input (f'Enter course url for the course[\' { name } \' ]: ' )
80
+ org = input ('Enter the name of the issuing organistion: ' )
81
+ courseId = courseUrl .split ('/' )[- 1 ]
82
+ linkedIn .addCertData (name = name , org = org ,
83
+ credId = courseId , credUrl = courseUrl )
84
+ print (f'Added: { name } ' )
85
+ name = ''
86
86
print ('Completed!' )
87
+ driver .close ()
0 commit comments