#!/usr/bin/env python
# coding: utf-8

# # Ejemplo WebScrapping Selenium

# In[204]:


from selenium import webdriver
import time
import pandas as pd
import random
import tqdm as tqdm
import warnings

warnings.simplefilter("ignore")


# In[205]:


# https://chromedriver.chromium.org/downloads


# In[206]:


options = webdriver.ChromeOptions()
#options.add_argument('--headless')
# listado extendido de opciones que se pueden usar con Chrome -> https://peter.sh/experiments/chromium-command-line-switches/
options.add_argument('--remote-debugging-port=9515')

#driver = webdriver.Chrome('./chromedriver.exe', options=options)
driver = webdriver.Chrome('/usr/bin/chromedriver', options=options)
url_ra = 'https://www.rastreator.com/'

driver.implicitly_wait(3)
driver.get(url_ra)


# In[207]:


# Hacemos click en Aceptar cookies
driver.find_element_by_xpath('//*[@id="cookies"]/div/div[2]/button[2]').click()


# In[208]:


# Pulsamos en comparar seguros de coche
driver.find_element_by_xpath('//*[@id="html"]/body/div[1]/section[1]/div[2]/div/div[1]/section/div/div[1]/a[2]/div').click()
time.sleep(2)


# In[209]:


# Seleccionamos Audio como marca de coche
driver.find_element_by_xpath('//*[@id="li00008"]').click()
time.sleep(2)


# In[210]:


# Seleccionamos modelo TT
driver.find_element_by_xpath('//*[@id="li017"]').click()
time.sleep(2)


# In[211]:


# Seleccionamos Gasolina
driver.find_element_by_xpath('//*[@id="G"]').click()
time.sleep(2)


# In[212]:


# Seleccionamos 150CV
driver.find_element_by_xpath('//*[@id="150"]').click()
time.sleep(2)


# In[213]:


# Seleccionamos 3 puertas
driver.find_element_by_xpath('//*[@id="3"]').click()
time.sleep(2)


# In[214]:


# Seleccionamos Conductor principal
driver.find_element_by_xpath('//*[@id="Maindriver"]').click()
time.sleep(2)


# In[215]:


# Seleccionamos Segunda mano comprado a particular
driver.find_element_by_xpath('//*[@id="SecondHandFromPerson"]').click()
time.sleep(2)


# In[216]:


# Seleccionamos No (el coche no tiene modificaciones)
driver.find_element_by_xpath('//*[@id="div-No"]/div/label/div').click()
time.sleep(2)


# In[217]:


# Introducimos como fecha matriculación Enero-2010

from selenium.webdriver.support.ui import Select

# Primero seleccionamos el desplegable para meses
mes = Select(driver.find_element_by_id('CJCarDetailsHowOldIsCar_Month'))

# Segundo, seleccionamos Enero en el desplegable del mes
mes.select_by_visible_text('Enero')

# Tercero, seleccionamos 2010 en el desplegable del año
anio = Select(driver.find_element_by_id('CJCarDetailsHowOldIsCar_Year'))
anio.select_by_visible_text('2010')

time.sleep(2)
# Pulsamos en Avanzar
driver.find_element_by_xpath('//*[@id="btn_submit"]').click()


# In[218]:


# Seleccionamos Uso particular habitual
driver.find_element_by_xpath('//*[@id="PrivateWork"]').click()
time.sleep(2)


# In[219]:


# Seleccionamos aparcar el coche en la calle
driver.find_element_by_xpath('//*[@id="StreetParking"]').click()
time.sleep(2)


# In[220]:


# Seleccionamos de 6000 a 8000 km recorridos al año
driver.find_element_by_xpath('//*[@id="KM7000"]').click()
time.sleep(2)


# In[221]:


# Seleccionamos que conducimos moto además de coche
driver.find_element_by_xpath('//*[@id="labelYesBike"]/div/span').click()
time.sleep(2)


# In[222]:


# Seleccionamos que sólo hay un coche en la unidad familiar
driver.find_element_by_xpath('//*[@id="labelOne"]/div/span').click()
time.sleep(2)


# In[223]:


# Introducimos la fecha de nacimiento 01/01/2000
driver.find_element_by_xpath('//*[@id="txt_dob"]').send_keys('01/01/2000')

time.sleep(2)
# Pulsamos en Avanzar
driver.find_element_by_xpath('//*[@id="btn_submit"]').click()


# In[224]:


# Seleccionamos España como lugar de nacimiento
driver.find_element_by_xpath('//*[@id="image724"]/label/div').click()
time.sleep(2)


# In[225]:


# Selecciomamos como fecha de obtención del carnet de conducir Febrero-2019

# Primero seleccionamos el desplegable para meses
mes = Select(driver.find_element_by_id('CJDriverDetailsLicenceDate_Month'))

# Segundo, seleccionamos Enero en el desplegable del mes
mes.select_by_visible_text('Febrero')

# Tercero, seleccionamos 2010 en el desplegable del año
anio = Select(driver.find_element_by_id('CJDriverDetailsLicenceDate_Year'))
anio.select_by_visible_text('2019')

time.sleep(2)
# Pulsamos en Avanzar
driver.find_element_by_xpath('//*[@id="btn_submit"]').click()


# In[226]:


# Seleccionamos España como lugar de obtención del carnét de conducir del conductor principal
driver.find_element_by_xpath('//*[@id="image724"]/label/div').click()
time.sleep(2)


# In[227]:


# Seleccionamos Hombre como Sexo y Soltero/a como estado civil del conductor principal
driver.find_element_by_xpath('//*[@id="image_Male"]/div/label/div').click()
driver.find_element_by_xpath('//*[@id="Single"]').click()
time.sleep(2)


# In[228]:


# Seleccionamos sin hijos en el domicilio
driver.find_element_by_xpath('//*[@id="span_No"]').click()
time.sleep(2)


# In[229]:


# Seleccionamos Administrativo como ocupación del conductor principal
driver.find_element_by_xpath('//*[@id="TechnicianAdministrativeClerk"]').click()
time.sleep(2)


# In[230]:


# Introducimos 48014 como CP del conductor principal
driver.find_element_by_xpath('//*[@id="txtPostalCode"]').send_keys('48014')

time.sleep(2)
# Pulsamos en Avanzar
driver.find_element_by_xpath('//*[@id="btnPostalCodeClick"]').click()


# In[ ]:


# Introducimos la dirección del conductor principal

# Seleccionamos Calle como tipo de vía
Select(driver.find_element_by_id('driverStreetkind')).select_by_visible_text('Calle')
time.sleep(5)

# Introducimos como Vía, Avda. Madariaga
driver.find_element_by_xpath('//*[@id="txtVia"]').send_keys('Avda.Madariaga')

# Introducimos 1 en Número, 2 en Piso y A en Puerta.  Además Bilbao como Localidad
driver.find_element_by_xpath('//*[@id="txtNumero"]').send_keys('1')

driver.find_element_by_xpath('//*[@id="frmAddress"]/ng-container/div[3]/div[2]/div/input').send_keys('2')

driver.find_element_by_xpath('//*[@id="frmAddress"]/ng-container/div[3]/div[3]/div/input').send_keys('A')

driver.find_element_by_xpath('//*[@id="driverTown"]').send_keys('Bilbao')

time.sleep(5)
# Pulsamos en Avanzar
driver.find_element_by_xpath('//*[@id="btnSkipAddress"]').click()


# In[232]:


# Seleccionamos Entre 1 y 2 años como tiempo viviendo en la vivienda actual
time.sleep(2)
driver.find_element_by_xpath('//*[@id="Between1and2"]').click()


# In[233]:


# Seleccionamos El conductor principal como el titular del seguro
time.sleep(2)
driver.find_element_by_xpath('//*[@id="MainDriver"]').click()


# In[234]:


# Introducimos DNI
time.sleep(2)
driver.find_element_by_xpath('//*[@id="txtDniNumber"]').send_keys('11111111H')

# Pulsamos en Avanzar
driver.find_element_by_xpath('//*[@id="btnDniClick"]').click()


# In[235]:


# Seleccionamos que Sí estamos en el fichero de morosos
time.sleep(2)
driver.find_element_by_xpath('//*[@id="defaulterYes"]').click()


# In[236]:


# Seleccionamos que no hay otros conductores habituales
time.sleep(2)
driver.find_element_by_xpath('//*[@id="No"]').click()


# In[237]:


# Seleccionamos que no hemos tenido seguro 
time.sleep(2)
driver.find_element_by_xpath('//*[@id="No"]').click()


# In[238]:


# Seleccionamos que no hemos dado parte en los últimos 5 años
time.sleep(2)
driver.find_element_by_xpath('//*[@id="spanNo"]').click()


# In[239]:


# Seleccionamos sin multas
time.sleep(2)
driver.find_element_by_xpath('//*[@id="divNo"]/label/div/span').click()


# In[240]:


# Introducimos 01/03/2022 como fecha de contratación
time.sleep(2)

driver.find_element_by_xpath('//*[@id="txt_buydate"]').send_keys('01/03/2022')

# Pulsamos en Avanzar
driver.find_element_by_xpath('//*[@id="btn_submit"]').click()


# In[241]:


# Seleccionamos seguro a terceros
time.sleep(2)
driver.find_element_by_xpath('//*[@id="ThirdParty"]').click()


# In[ ]:


driver.close()


# In[ ]:





# In[ ]:





# In[ ]:




