Skip to content

Instantly share code, notes, and snippets.

@raketbizdev
Last active July 28, 2019 17:30
Show Gist options
  • Save raketbizdev/8e2e4d2254f69f4645f22e0bf6682d84 to your computer and use it in GitHub Desktop.
Save raketbizdev/8e2e4d2254f69f4645f22e0bf6682d84 to your computer and use it in GitHub Desktop.
# Creator: Ruel Nopal
# Url: www.ruelnopal.com
# IT consultant
require 'open-uri'
require 'json'
require "selenium-webdriver"
driver = Selenium::WebDriver.for :chrome
url = "http://linkedin.com"
driver.navigate.to "#{url}"
sleep 3
wait = Selenium::WebDriver::Wait.new(:timeout => 20)
# your user login in json format
credential = File.read("csv/credential.json")
results = JSON.parse(credential)
email = wait.until {
element_1 = driver.find_element(:class, "login-email")
}
pass = wait.until {
element_1 = driver.find_element(:class, "login-password")
}
login = wait.until {
element_1 = driver.find_element(:id, "login-submit")
}
# data from credential.json
email.send_keys "#{results["email"]}"
pass.send_keys "#{results["pass"]}"
login.click
sleep 3
driver.execute_script( "window.open()" )
driver.switch_to.window( driver.window_handles.last )
driver.get 'https://www.linkedin.com/search/results/people/?origin=FACETED_SEARCH&title=CEO'
sleep 3
driver.execute_script("window.scrollTo(0, document.body.scrollHeight)")
sleep 2
# Name
profile_name = wait.until {
element_1 = driver.find_elements(:class, "actor-name")
}
profile_name.each do |line|
linkedin_name = line.text
puts linkedin_name
end
puts profile_name.size
# get the url class elements
profile_url = wait.until {
element_1 = driver.find_elements(:class, "search-result__result-link")
}
# isolate the href
profile_url.each do |line|
linkedin_url = line.attribute("href")
# Url Output
puts linkedin_url
end
# Output count
puts profile_url.size
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment