Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- require "rubygems"
- require 'selenium-webdriver'
- require 'chunky_png'
- require 'antigate'
- def send_mail(email,message,browser)
- browser.get("http://prxz.ru/pl_script/send.php?email=#{email}&message=#{message}")
- end
- def anticaptcha(img)
- captcha = Antigate.wrapper(@captcha_key)
- captcha.min_len = 6
- captcha.max_len = 8
- recognized = captcha.recognize(img, 'jpg')
- #puts recognized[0] # ID recognized CAPTCHA
- recognized[1] # Text CAPTCHA
- end
- @captcha_key = 'c85898dff36fbb2ae43024d67bda60bf'
- #email1 = "karta@ckrp.org.ua"
- #email2 = "Abk400@gmail.com"
- email1 = "proxyz@ukr.net"
- email2 = "proxyz@ukr.net"
- if(Time.now.day == 10 or Time.now.day == 20 or Time.now.day == 30) then
- time_end = Time.now + (60*60*4) #Время работы
- time_to_sleep = 60 #В секундах
- else
- time_end = Time.now + (60*60*9) #Время работы
- time_to_sleep = 180 #В секундах
- end
- #Selenium::WebDriver::Firefox::Binary.path="C:/Tor/Browser/firefox.exe"
- while true
- begin
- # profile = Selenium::WebDriver::Firefox::Profile.new
- # profile['network.proxy.http'] = '81.176.228.20'
- # profile['network.proxy.http_port'] = 8972
- # Selenium::WebDriver::Proxy.new(http: '81.176.228.20:8972')
- browser = Selenium::WebDriver.for :firefox#, :profile => profile
- browser.get 'https://secure.e-konsulat.gov.pl/Uslugi/RejestracjaTerminu.aspx?IDUSLUGI=7&IDPlacowki=89'
- sleep 2
- # begin
- # browser.switch_to.alert.accept if browser.switch_to.alert.text!=nil
- # rescue
- # end
- sleep 15
- select_language = browser.find_element(:id, 'ddlWersjeJezykowe')
- select_language.click
- options = select_language.find_elements(tag_name: 'option')
- options.each { |option| option.click if option.text == 'Polska' }
- sleep 5
- image = browser.find_element(:id, 'c_uslugi_rejestracjaterminu_cp_botdetectcaptcha_CaptchaImage')
- href = image.attribute('src')
- substring = href[-30..-1]
- wd = Dir.pwd
- saveloc = "#{wd}/captcha-#{substring}.png"
- image.location_once_scrolled_into_view
- browser.save_screenshot(saveloc)
- input = ChunkyPNG::Image.from_file(saveloc)
- input.crop!(530, 897, 250, 40)
- input.save(saveloc)
- sleep 5
- input_captcha = browser.find_element(:id, 'cp_BotDetectCaptchaCodeTextBox')
- input_captcha.location_once_scrolled_into_view
- input_captcha.clear
- str = anticaptcha(saveloc)
- puts str
- input_captcha.send_keys str
- submit_button = browser.find_element(:id, 'cp_btnDalej')
- submit_button.location_once_scrolled_into_view
- submit_button.click
- sleep 5
- begin
- output = browser.find_element(:id, 'cp_lblBrakTerminow')
- puts output.text[0..3]
- if(output.text[0..3]!='Brak') then
- begin
- browser.find_element(:id, 'cp_btnRezerwuj')
- send_mail(email2,1,browser)
- puts "lucky #{Time.now}"
- rescue
- send_mail(email1,2,browser)
- end
- else
- send_mail(email1,2,browser)
- end
- rescue
- puts "No have Brak"
- begin
- browser.find_element(:id, 'cp_btnRezerwuj')
- send_mail(email2,1,browser)
- puts "lucky #{Time.now}"
- rescue Exception => e
- puts e.message
- send_mail(email1,2,browser)
- end
- end
- rescue Exception => e
- puts e.message
- puts "something does wrong"
- send_mail(email2,3, browser)
- end
- if (Time.now>time_end)
- break
- end
- browser.close
- sleep time_to_sleep
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement