eth0izzle / the-endorser Goto Github PK
View Code? Open in Web Editor NEWAn OSINT tool that allows you to draw out relationships between people on LinkedIn via endorsements/skills.
Home Page: https://www.darkport.co.uk
License: MIT License
An OSINT tool that allows you to draw out relationships between people on LinkedIn via endorsements/skills.
Home Page: https://www.darkport.co.uk
License: MIT License
Hi, This script appears to no longer work. I was able to fix the login selectors by using these ids
self.webdriver.find_element_by_id("username").send_keys(self.email)
self.webdriver.find_element_by_id("password").send_keys(self.password)
self.webdriver.find_element_by_css_selector(".login__form_action_container button").submit()
but I am stuck on this one since I'm not sure which DOM element this selector corresponds to.
Message: no such element: Unable to locate element: {"method":"class name","selector":"pv-top-card-section__name"}
Saving the user_id also appears broken but I just commented out the part where it searches for the voyager body response.
Hi when i used a recent version of chromedriver i have problem but if i used a old version of chromedriver its begin to work but i have this follow messages:
Traceback (most recent call last):
File "the-endorser.py", line 47, in
profiles.append(client.get_endorsements(profile_url.geturl()))
File "/home/stephane/the-endorser/linkedin.py", line 101, in get_endorsements
name = self.webdriver.find_element_by_css_selector(".pv-top-card-v3--list > li").text
File "/usr/lib/python3/dist-packages/selenium/webdriver/remote/webdriver.py", line 627, in find_element_by_css_selector
return self.find_element(by=By.CSS_SELECTOR, value=css_selector)
File "/usr/lib/python3/dist-packages/selenium/webdriver/remote/webdriver.py", line 1014, in find_element
'value': value})['value']
File "/usr/lib/python3/dist-packages/selenium/webdriver/remote/webdriver.py", line 318, in execute
self.error_handler.check_response(response)
File "/usr/lib/python3/dist-packages/selenium/webdriver/remote/errorhandler.py", line 242, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"css selector","selector":".pv-top-card-v3--list > li"}
(Session info: headless chrome=80.0.3987.162)
(Driver info: chromedriver=2.39.562737 (dba483cee6a5f15e2e2d73df16968ab10b38a2bf),platform=Linux 5.4.0-kali4-amd64 x86_64)
With this log:
DEBUG:selenium.webdriver.remote.remote_connection:POST http://127.0.0.1:33073/session {"capabilities": {"firstMatch": [{}], "alwaysMatch": {"browserName": "chrome", "platformName": "any", "goog:chromeOptions": {"extensions": [], "args": ["headless", "window-size=1024x3000", "user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 10_0_1 like Mac OS X) AppleWebKit/602.1.50 (KHTML, like Gecko) Version/10.0 Mobile/14A403 Safari/602.1"]}}}, "desiredCapabilities": {"browserName": "chrome", "version": "", "platform": "ANY", "goog:chromeOptions": {"extensions": [], "args": ["headless", "window-size=1024x3000", "user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 10_0_1 like Mac OS X) AppleWebKit/602.1.50 (KHTML, like Gecko) Version/10.0 Mobile/14A403 Safari/602.1"]}}}
DEBUG:urllib3.connectionpool:Starting new HTTP connection (1): 127.0.0.1:33073
DEBUG:urllib3.connectionpool:http://127.0.0.1:33073 "POST /session HTTP/1.1" 200 798
DEBUG:selenium.webdriver.remote.remote_connection:Finished Request
DEBUG:selenium.webdriver.remote.remote_connection:POST http://127.0.0.1:33073/session/session id OK - Replace by me/url {"url": "https://www.linkedin.com/uas/login",
"sessionId": " session id OK - Replace by me"}
......
DEBUG:selenium.webdriver.remote.remote_connection:Finished Request
WARNING:root:Successfully logged in to LinkedIn but failed to extract your identifier.
I don't have any graph in the directory digraph
It doesn't work for me
Please it's possible to fix the script???!!!
Hello,
I'm trying to run it....I've install the chrome driver correctly - I think? i put it in the drivers folder of the-endorser.
When I try to run it I get this:
python the-endorser.py https://www.linkedin.com/in/XXXX https://www.linkedin.com/in/XXX
Traceback (most recent call last):
File "the-endorser.py", line 3, in
from urllib.parse import urlparse
ImportError: No module named parse
Any ideas what could be wrong?
The graph can get rather difficult to read if you add a number of profiles. We should add a console output method that orders the top number of people with endorsement connections.
/usr/lib/python3/dist-packages/selenium/webdriver/phantomjs/webdriver.py:49: UserWarning: Selenium support for PhantomJS has been deprecated, please use headless versions of Chrome or Firefox instead
warnings.warn('Selenium support for PhantomJS has been deprecated, please use headless '
Traceback (most recent call last):
File "the-endorser.py", line 38, in
with LinkedInClient(config.email, config.password, webdriver=driver.get(driver_path), save_cookie=config.save_cookie) as client:
File "/home/stephane/the-endorser/linkedin.py", line 27, in enter
self.__login(True if self.webdriver.capabilities['browserName'] == 'phantomjs' else False)
File "/home/stephane/the-endorser/linkedin.py", line 53, in _login
self.webdriver.find_element_by_id("username").send_keys(self.email)
File "/usr/lib/python3/dist-packages/selenium/webdriver/remote/webdriver.py", line 361, in find_element_by_id
return self.find_element(by=By.ID, value=id)
File "/usr/lib/python3/dist-packages/selenium/webdriver/remote/webdriver.py", line 1014, in find_element
'value': value})['value']
File "/usr/lib/python3/dist-packages/selenium/webdriver/remote/webdriver.py", line 318, in execute
self.error_handler.check_response(response)
File "/usr/lib/python3/dist-packages/selenium/webdriver/remote/errorhandler.py", line 208, in check_response
raise exception_class(value)
selenium.common.exceptions.WebDriverException: Message: Error - Unable to load Atom 'find_element' from file ':/ghostdriver/./third_party/webdriver-atoms/find_element.js'
Inside the logfile
DEBUG:selenium.webdriver.remote.remote_connection:POST http://127.0.0.1:57927/wd/hub/session/55cf5690-7501-11ea-98f1-b3e06e1e4d82/window/current/size {"width": 1024, "height": 3000, "windowHandle": "current", "sessionId": "55cf5690-7501-11ea-98f1-b3e06e1e4d82"}
DEBUG:urllib3.connectionpool:http://127.0.0.1:57927 "POST /wd/hub/session/55cf5690-7501-11ea-98f1-b3e06e1e4d82/window/current/size HTTP/1.1" 200 74
DEBUG:selenium.webdriver.remote.remote_connection:Finished Request
DEBUG:selenium.webdriver.remote.remote_connection:POST http://127.0.0.1:57927/wd/hub/session/55cf5690-7501-11ea-98f1-b3e06e1e4d82/url {"url": "https://www.linkedin.com/uas/login", "sessionId": "55cf5690-7501-11ea-98f1-b3e06e1e4d82"}
DEBUG:urllib3.connectionpool:http://127.0.0.1:57927 "POST /wd/hub/session/55cf5690-7501-11ea-98f1-b3e06e1e4d82/url HTTP/1.1" 200 74
DEBUG:selenium.webdriver.remote.remote_connection:Finished Request
DEBUG:selenium.webdriver.remote.remote_connection:POST http://127.0.0.1:57927/wd/hub/session/55cf5690-7501-11ea-98f1-b3e06e1e4d82/element {"using": "id", "value": "username", "sessionId": "55cf5690-7501-11ea-98f1-b3e06e1e4d82"}
DEBUG:urllib3.connectionpool:http://127.0.0.1:57927 "POST /wd/hub/session/55cf5690-7501-11ea-98f1-b3e06e1e4d82/element HTTP/1.1" 404 114
DEBUG:selenium.webdriver.remote.remote_connection:Finished Request
I've installed Phantomjs as I can't seem to install chromedrive
when I run python the-endorser.py linkedinuser1 linkedinuser2
I get the following error:
Traceback (most recent call last): File "the-endorser.py", line 3, in <module> from urllib.parse import urlparse ImportError: No module named parse
If I run python3 the-endorser.py linkedinuser1 linkedinuser2
then I get the following error:
Traceback (most recent call last): File "the-endorser.py", line 38, in <module> with LinkedInClient(config.email, config.password, webdriver=driver.get(driver_path), save_cookie=config.save_cookie) as client: File "/root/the-endorser/drivers/chromedriver.py", line 15, in get return webdriver.Chrome(executable_path=driver_path, chrome_options=chrome_options) File "/usr/local/lib/python3.7/dist-packages/selenium/webdriver/chrome/webdriver.py", line 69, in __init__ desired_capabilities=desired_capabilities) File "/usr/local/lib/python3.7/dist-packages/selenium/webdriver/remote/webdriver.py", line 151, in __init__ self.start_session(desired_capabilities, browser_profile) File "/usr/local/lib/python3.7/dist-packages/selenium/webdriver/remote/webdriver.py", line 240, in start_session response = self.execute(Command.NEW_SESSION, parameters) File "/usr/local/lib/python3.7/dist-packages/selenium/webdriver/remote/webdriver.py", line 308, in execute self.error_handler.check_response(response) File "/usr/local/lib/python3.7/dist-packages/selenium/webdriver/remote/errorhandler.py", line 194, in check_response raise exception_class(message, screen, stacktrace) selenium.common.exceptions.WebDriverException: Message: unknown error: Chrome failed to start: exited abnormally. (unknown error: DevToolsActivePort file doesn't exist) (The process started from chrome location /opt/google/chrome/chrome is no longer running, so ChromeDriver is assuming that Chrome has crashed.)
I don't know what's going on. I'm not very experienced with linux.
I'm running Kali Linux
Verified that I have phantomjs version 2.1.1
any help would be amazing!
Thank you!
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.