У меня есть эта форма, и мне нужно нажать кнопку типа ввода со значением de = CASTRO SALVADOR. Я использую питон и селен
Seleccione la Empresa a representar:
Ниже моего кода вы найдете различные способы, которыми я пытался выбрать кнопку типа ввода.
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.action_chains import ActionChains
import time
# Configura el driver de Selenium para Firefox
driver = webdriver.Firefox()
# Navega a la página de login del sistema de AFIP
driver.get("https://auth.afip.gov.ar/contribuyente_ ... admin_mono")
WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.ID, "F1:username"))).send_keys("xxxxxx")
WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.ID, "F1:btnSiguiente"))).click()
WebDriverWait(driver, 10).until(EC.visibility_of_element_located((By.ID, "F1:password"))).send_keys("xxxxx")
WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.ID, "F1:btnIngresar"))).click()
# Espera para asegurar que la sesión se haya iniciado correctamente
WebDriverWait(driver, 10).until(EC.url_contains("monotributo.afip.gob.ar"))
# Navega a la página de facturación
driver.get("https://monotributo.afip.gob.ar/app/Facturacion.aspx")
WebDriverWait(driver, 10).until(EC.visibility_of_element_located((By.ID, "bBtn1")))
# Hace clic en el botón inicial en la página de facturación
WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.ID, "bBtn1"))).click()
# Espera hasta que el elemento sea visible y no solo presente:
driver.implicitly_wait(2)
button = driver.find_element(By.XPATH, "//input[@value='CASTRO SALVADOR']")
driver.execute_script("arguments[0].click();", button)
button.click()
Я тоже пробую:
boton = driver.find_element(By.CSS_SELECTOR, "input.btn_empresa[value='CASTRO SALVADOR']")
boton.click()
Я тоже пробую:
boton = driver.find_element(By.CSS_SELECTOR, "input.btn_empresa.ui-button.ui-widget.ui-state-default.ui-corner-all")
boton.click()
Обновление. Я просто пытаюсь:
button = driver.find_element(By.XPATH, "//input[@class='btn_empresa' and @value='CASTRO SALVADOR']")
driver.execute_script("arguments[0].click();", button)
Но у меня была ошибка терминала
Traceback (most recent call last):
File "/Users/salvacastro/Desktop/afip.py", line 31, in
button = driver.find_element(By.XPATH, "//input[@class='btn_empresa' and @value='CASTRO SALVADOR']")
File "/Users/salvacastro/Library/Python/3.9/lib/python/site-packages/selenium/webdriver/remote/webdriver.py", line 748, in find_element
return self.execute(Command.FIND_ELEMENT, {"using": by, "value": value})["value"]
File "/Users/salvacastro/Library/Python/3.9/lib/python/site-packages/selenium/webdriver/remote/webdriver.py", line 354, in execute
self.error_handler.check_response(response)
File "/Users/salvacastro/Library/Python/3.9/lib/python/site-packages/selenium/webdriver/remote/errorhandler.py", line 229, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.NoSuchElementException: Message: Unable to locate element: //input[@class='btn_empresa' and @value='CASTRO SALVADOR']; For documentation on this error, please visit: https://www.selenium.dev/documentation/ ... -exception
Stacktrace:
RemoteError@chrome://remote/content/shared/RemoteError.sys.mjs:8:8
WebDriverError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:193:5
NoSuchElementError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:511:5
dom.find/
Подробнее здесь: https://stackoverflow.com/questions/787 ... and-python
Как нажать кнопку ввода внутри формы с помощью селена и Python? ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение