Sha256: ddff1f55324ecece6895f2c9b0334a17844d75067b988167628b3713b99d9c86
Contents?: true
Size: 1.46 KB
Versions: 2
Compression:
Stored size: 1.46 KB
Contents
module SlackStatusTracker class Scrapper attr_accessor :browser attr_accessor :username attr_accessor :password attr_accessor :channel attr_accessor :current_online_users attr_accessor :headless def initialize(username, password, driver, channel) self.username = username self.password = password self.channel = channel self.headless = Headless.new self.headless.start self.browser = Watir::Browser.new driver self.current_online_users = 0 end def retrieve_users init_slack login init_team read_list browser.close end protected def read_list browser.element(css: '#active_members_list').wait_until_present browser.elements(css: '#active_members_list .team_list_item').each do |el| presence_bubble = el.element(css: 'span.presence') if presence_bubble.attribute_value("class").split(' ').include? 'active' self.current_online_users+=1 end end end def init_slack self.browser.goto "https://#{self.channel}.slack.com/" end def login self.browser.text_field(:css => '#email').value = self.username self.browser.text_field(:css => '#password').set self.password self.browser.button(:css => '#signin_btn').click end def init_team browser.wait_until{ browser.url.include?("/messages") } self.browser.goto "https://#{self.channel}.slack.com/team" end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
slack_status_tracker-0.1.0.pre.4 | lib/slack_status_tracker/scrapper.rb |
slack_status_tracker-0.1.0.pre.3 | lib/slack_status_tracker/scrapper.rb |