Advertisement
tosink

Image

Aug 29th, 2019
169
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.53 KB | None | 0 0
  1. def resolve_captcha(self):
  2.         try:
  3.             self.driver.find_element_by_id('imgCaptcha')
  4.  
  5.         except NoSuchElementException:
  6.             return True
  7.  
  8.         size_image = 1360, 900
  9.         element = self.driver.find_element_by_id('img_container')
  10.         location = element.location
  11.         size = element.size
  12.         png = self.driver.get_screenshot_as_png()
  13.         im = Image.open(BytesIO(png))
  14.         im.thumbnail(size_image, Image.ANTIALIAS)
  15.         left = location['x']
  16.         top = location['y']
  17.         right = location['x'] + size['width']
  18.         bottom = location['y'] + size['height']
  19.         im = im.crop((left, top, right, bottom))
  20.         im.save('/tmp/screenshot.png')
  21.  
  22.         files = {'file': open('/tmp/screenshot.png', 'rb')}
  23.         data = {'key': KEY}
  24.         response = requests.post(
  25.             URL_POST_CAPTCHA,
  26.             files=files,
  27.             data=data,
  28.             timeout=15
  29.         )
  30.         if response.ok:
  31.             time.sleep(15)
  32.             id_message = response.text.split('|')[-1]
  33.             resolved_captcha = requests.get(
  34.                 '{}?key={}&action=get&id={}'.format(
  35.                     URL_GET_CAPTCHA,
  36.                     KEY,
  37.                     id_message
  38.                 ),
  39.                 timeout=15
  40.             )
  41.             message = resolved_captcha.text.split('|')[-1]
  42.             self.driver.find_element_by_id('captcha').send_keys(message)
  43.             self.driver.find_element_by_css_selector('input[type="button"]').\
  44.                 click()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement