with by ubuntu 20.04 and windows 10 voraccle box virtual machine. working supervised by ANYDESK only, no SSH.
Here is Python Script to run:
import time
from selenium import webdriver
import pyodbc
from [login to view URL] import By
from [login to view URL] import Keys
from [login to view URL] import WebDriverWait
import [login to view URL]
from [login to view URL] import Options
from selenium_stealth import stealth
hostname = "HOST_NAME"
port = "PORT"
def init_Browser():
options = Options()
# options.add_argument('--proxy-server=%s' % hostname + ":" + port)
# options.binary_location = 'C:\\Program Files\\BraveSoftware\\Brave-Browser\\Application\\[login to view URL]'
#options.add_argument("user-data-dir=/home/python/.config/google-chrome/")
options.add_argument("start-maximized")
#options.add_argument("--headless")
options.add_experimental_option("excludeSwitches", ["enable-automation"])
options.add_experimental_option('useAutomationExtension', False)
# # options.add_argument('--headless')
# options.page_load_strategy = 'none'
browser = [login to view URL](options=options)
stealth(browser,
languages=["en-US", "en"],
vendor="Google Inc.",
platform="Win32",
webgl_vendor="Intel Inc.",
renderer="Intel Iris OpenGL Engine",
fix_hairline=True,
)
return browser
def scrape_data(browser):
[login to view URL]('[login to view URL]')
#first iteration
plateNumber = browser.find_element(By.CSS_SELECTOR, '#MainContent_txtPlateNumber')
plateNumber.send_keys("A0A000")
[login to view URL](10)
plateNo = WebDriverWait(browser, 10).until(
EC.presence_of_element_located(( By.CSS_SELECTOR, "#MainContent_lblPlateNew"))
)
print([login to view URL])
i = 301
while (i<999):
try:
browser.execute_script("[login to view URL](-1)")
# try:
plateNumber1 = WebDriverWait(browser, 8).until(
EC.presence_of_element_located((By.CSS_SELECTOR, "#MainContent_txtPlateNumber"))
)
[login to view URL]()
plateNumber1.send_keys("A0A"+str(i))
button1 = browser.find_element(By.CSS_SELECTOR,'.g-recaptcha')
[login to view URL]()
PlacaNueva = WebDriverWait(browser, 8).until(
EC.presence_of_element_located((By.CSS_SELECTOR, "#MainContent_lblPlateNew"))
)
PlacaNueva = [login to view URL]
PlacaAnterior = browser.find_element(By.CSS_SELECTOR, "#MainContent_lblPlatePrevious").text
insert_DB(PlacaNueva, PlacaAnterior, Estado, PuntoEntrega, FechaDeInicio, FechaEntrega, NroSerie, Marca, Modelo, Propietario, TipoUso, TipoDeSol)
i=i+1
except:
print(str(i)+' not found')
i = i+1
def insert_DB(PlacaNueva, PlacaAnterior, Estado, PuntoEntrega, FechaDeInicio, FechaEntrega, NroSerie, Marca, Modelo, Propietario, TipoUso, TipoDeSol):
# MY SQL Server
conn = [login to view URL]('Driver={SQL Server};'
'Server=[login to view URL];'
'Database=master;'
'UID=xx;'
'PWD=xx;'
'Trusted_Connection=no;')
cursor = [login to view URL]()
query = ("""INSERT INTO test VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)""")
data_tuple = (str(PlacaNueva),
str(PlacaAnterior),
[login to view URL](query, data_tuple)
[login to view URL]()
def main():
browser = init_Browser()
scrape_data(browser)
error installing:
Traceback (most recent call last):
File "C:\Program Files\JetBrains\PyCharm Community Edition 2021.3.2\plugins\python-ce\helpers\[login to view URL]", line 114, in main
do_install(pkgs)
File "C:\Program Files\JetBrains\PyCharm Community Edition 2021.3.2\plugins\python-ce\helpers\[login to view URL]", line 59, in do_install
....