在Python中使用Selenium时如何处理名称中的冒号(:)

2024-06-01 06:47:43 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图在网页(https://muisca.dian.gov.co/WebRutMuisca/DefConsultaEstadoRUT.faces)中搜索一个数字

我知道输入元素的名称是:“vistaConsultaEstadoRUT:formConsultaEstadoRUT:numNit”,但是当我尝试查找该元素时,出现以下错误:

"NoSuchElementException: no such element: Unable to locate element: {"method":"css selector","selector":"[name="vistaConsultaEstadoRUT:formConsultaEstadoRUT:numNit"]"}
  (Session info: chrome=81.0.4044.138)"

这就是我尝试过的:

from selenium import webdriver
driver = webdriver.Chrome("C:\\Users\\jcherrerab\\Anaconda3\\Lib\\site-packages\\selenium\\webdriver\\chrome\\chromedriver.exe")
driver.get("https://muisca.dian.gov.co/WebRutMuisca/DefConsultaEstadoRUT.faces")
driver.find_element_by_name("vistaConsultaEstadoRUT:formConsultaEstadoRUT:numNit").send_keys("860003020")

你能帮我吗


Tags: https元素driverelementgovwebdrivercofaces
1条回答
网友
1楼 · 发布于 2024-06-01 06:47:43

<input>元素的name属性包含:字符,如下所示:

vistaConsultaEstadoRUT:formConsultaEstadoRUT:numNit

:中使用时具有特殊效果。因此,程序无法找到所需的元素并引发NoSuchElementException


解决方案

要查找元素,可以使用以下任意一种Locator Strategies

  • 使用css_selector

    driver.find_element_by_css_selector("input[name='vistaConsultaEstadoRUT:formConsultaEstadoRUT:numNit']")
    
  • 使用xpath

    driver.find_element_by_xpath("//input[@name='vistaConsultaEstadoRUT:formConsultaEstadoRUT:numNit']")
    

最佳做法

在调用send_keys()时,理想情况下需要为element_to_be_clickable()导出WebDriverWait,并且可以使用以下任意一种Locator Strategies

  • 使用CSS_SELECTOR

    WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "input[name='vistaConsultaEstadoRUT:formConsultaEstadoRUT:numNit']"))).send_keys("860003020")
    
  • 使用XPATH

    WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//input[@name='vistaConsultaEstadoRUT:formConsultaEstadoRUT:numNit']"))).send_keys("860003020")
    
  • 注意:您必须添加以下导入:

    from selenium.webdriver.support.ui import WebDriverWait
    from selenium.webdriver.common.by import By
    from selenium.webdriver.support import expected_conditions as EC
    
  • 浏览器快照:

muisca


参考文献

您可以在以下内容中找到一些相关讨论:

相关问题 更多 >