Skip to content

Instantly share code, notes, and snippets.

View cmin764's full-sized avatar
🗺️
Do. Or do not. There is no try.

Cosmin Poieana cmin764

🗺️
Do. Or do not. There is no try.
View GitHub Profile
@cmin764
cmin764 / ExtendedDesktop.py
Created October 16, 2023 16:01
`RPA.Desktop`: Enhance images for better OCR
import time
import cv2
import numpy
from PIL import ImageOps, Image
from RPA.core.geometry import Region
from RPA.Desktop import Desktop
from RPA.Desktop.keywords import keyword, screen, HAS_RECOGNITION
from RPA.Desktop.keywords.text import TextKeywords
@cmin764
cmin764 / ExtendedSelenium.py
Created July 27, 2022 08:42
Extends Selenium with logging support
import os
from pathlib import Path
from RPA.Browser.Selenium import Selenium
from SeleniumLibrary.base import keyword
from selenium import webdriver
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
from webdrivermanager import ChromeDriverManager
@cmin764
cmin764 / console.md
Created June 29, 2022 06:19
Using appiumlibrary alongside RPA Framework (in relation to selenium)
% pip freeze | grep -i selenium               
robotframework-seleniumlibrary @ file:///Users/cmin/Library/Caches/pypoetry/artifacts/b1/57/94/bb35cafa65b24ed0378ebaade663b9ac63fc4db9cc9173e2b1b4ee41e9/robotframework_seleniumlibrary-5.1.3-py2.py3-none-any.whl
robotframework-seleniumtestability @ file:///Users/cmin/Library/Caches/pypoetry/artifacts/1f/7b/3c/cf3ae78bb6770234e375545966d30de0025b803f8e530f6dca45c724e6/robotframework-seleniumtestability-1.1.0.tar.gz
selenium @ file:///Users/cmin/Library/Caches/pypoetry/artifacts/83/ce/32/1d42f26ac715da9125b7ad16b60919809cbb53dbb6a50cf32739198500/selenium-3.141.0-py2.py3-none-any.whl

 % pip freeze | grep -i appium  
Appium-Python-Client==1.3.0
robotframework-appiumlibrary==1.6.3
@cmin764
cmin764 / diff -rq 15.1.3 15.1.4.diff
Created June 24, 2022 12:06
Diff between rpaframework 15.1.3 -> 15.1.4 (unzipped wheels)
cmin@robocorp-mac Downloads % diff -rq 15.1.3 15.1.4
Files 15.1.3/RPA/Desktop/keywords/finder.py and 15.1.4/RPA/Desktop/keywords/finder.py differ
Files 15.1.3/RPA_Archive.libspec and 15.1.4/RPA_Archive.libspec differ
Files 15.1.3/RPA_Browser.libspec and 15.1.4/RPA_Browser.libspec differ
Files 15.1.3/RPA_Browser_Selenium.libspec and 15.1.4/RPA_Browser_Selenium.libspec differ
Files 15.1.3/RPA_Cloud_Azure.libspec and 15.1.4/RPA_Cloud_Azure.libspec differ
Files 15.1.3/RPA_Crypto.libspec and 15.1.4/RPA_Crypto.libspec differ
Files 15.1.3/RPA_Database.libspec and 15.1.4/RPA_Database.libspec differ
Files 15.1.3/RPA_Desktop.libspec and 15.1.4/RPA_Desktop.libspec differ
Files 15.1.3/RPA_Desktop_Clipboard.libspec and 15.1.4/RPA_Desktop_Clipboard.libspec differ
@cmin764
cmin764 / output.log
Created June 22, 2022 09:42
Python Selenium robot run log
cmin@robocorp-mac browser-auto % /usr/bin/env /var/folders/pp/wr5w2d3945s4r921ry12jkl00000gn/T/rf-ls-run/run_env_00_cdjg53lc.sh /Users/cmin/.vscode/extensio
ns/robocorp.robocorp-code-0.34.0/bin/rcc task run --robot /Users/cmin/Repos/robots/browser-auto/robot.yaml --space vscode-03 --workspace 7 --account robocorp
-code --task Run\ Python\ Robot --controller RobocorpCode
"/Users/cmin/Repos/robots/browser-auto/robot.yaml" as robot.yaml is:
tasks:
Run all tasks:
shell: python -m robot --report NONE --outputdir output --logtitle "Task log" tasks.robot
File Upload:
robotTaskName: File Upload
Open Google Chrome:
@cmin764
cmin764 / notepad.robot
Created March 23, 2022 09:35
`RPA.Windows` - Notepad automation
Notepad write text into a file
Windows Search notepad
Control Window subname:'- Notepad'
${ver} = Get OS Version
IF "${ver}" == "11"
Click Edit wait_time=0.5
Click Font wait_time=0.5 # for some reason this only highlitghts the button
Click Font # and this finally clicks it
Send Keys keys={TAB}{TAB}{TAB} interval=0.2 wait_time=0.3 send_enter=${True}
@cmin764
cmin764 / ExtendedSelenium.py
Last active March 15, 2022 09:54
Extends Selenium with user-data option in Chrome
import os
from pathlib import Path
from RPA.Browser.Selenium import Selenium
from SeleniumLibrary.base import keyword
from selenium import webdriver
from webdrivermanager import ChromeDriverManager
class ExtendedSelenium(Selenium):
@cmin764
cmin764 / ExtendedSelenium.py
Created February 21, 2022 11:56
Extends `RPA.Browser.Selenium` with setting attribute capability
from typing import Union
from RPA.Browser.Selenium import Selenium
from SeleniumLibrary.base import keyword
from selenium.webdriver.remote.webelement import WebElement
class ExtendedSelenium(Selenium):
@keyword
@cmin764
cmin764 / ExtendedSelenium.py
Last active February 16, 2022 11:52
Extends Selenium with automatic downloading support
from RPA.Browser.Selenium import Selenium
from SeleniumLibrary.base import keyword
from selenium import webdriver
class ExtendedSelenium(Selenium):
@keyword
def open_site(self, url, **kwargs):
options = webdriver.ChromeOptions()
#! /usr/bin/env python3
import logging
import sys
from io import StringIO
from pdfminer.converter import XMLConverter, HTMLConverter, TextConverter, \
PDFPageAggregator
from pdfminer.image import ImageWriter