Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

174
Visualizações
Python Selenium NoSuchElement al intentar raspar web

Sé que esta pregunta se ha hecho antes, pero he pasado por muchas de las soluciones de desbordamiento de pila y nada parece funcionar para mí. Estoy intentando raspar un sitio web para obtener datos de bienes raíces. Puedo hacer clic en la página de inicio de sesión y en una segunda página, pero cuando llego a la tercera página, no puedo hacer clic en un enlace.

Bloque HTML:

 <div id="m_wm_w6_m_pnlContent" class="css_content wgt_content"> <table width="100%"> <tbody><tr> <td><a id="m_wm_w6_m_lv_ctrl0_m_lnkWatch" href="javascript:__doPostBack(&#39;m_wm$w6$m_lv$ctrl0$m_lnkWatch&#39;,&#39;&#39;)" style="white-space:nowrap; font-size:11px;">New Listing (186)</a> </td> <td width="50%"><div style="background-color:#008770;width:100%;height:12px;border:solid 1px #C0C0C0;"></div></td> </tr>

Quiero hacer click en el enlace usando selenio para la etiqueta "New Listing" con href="javascript:__doPostBack...

Mi código:

 driver = webdriver.Chrome(ChromeDriverManager().install()) driver.get(url + login) driver.find_element_by_id('clareity').send_keys(username) driver.find_element_by_id('security').click() driver.find_element_by_id('security').send_keys(password) driver.find_element_by_id('loginbtn').click() driver.implicitly_wait(5) driver.find_element_by_id('appColumn386').click() #WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//html/body/form/div[3]/div[7]/table/tbody/tr/td[3]/div/div[2]/div/div[2]/table/tbody/tr[1]/td[1]/a"))).click() #WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//*[@id='m_wm_w6_m_lv_ctrl0_m_lnkWatch']"))).click() #WebDriverWait(driver, 10).until(EC.staleness_of(driver.find_element_by_xpath("//html/body/form/div[3]/div[7]/table/tbody/tr/td[3]/div/div[2]/div/div[2]/table/tbody/tr[1]/td[1]/a"))) #driver.find_element_by_xpath("//html/body/form/div[3]/div[7]/table/tbody/tr/td[3]/div/div[2]/div/div[2]/table/tbody/tr[1]/td[1]/a").click()

El código comentado es algunas de las soluciones que probé y no parecían funcionar. Recibo el error "NoSuchElement" a pesar de que cuando verifico las herramientas de desarrollo de Chrome, aparece el elemento. Incluso probé ambos XPaths de las dev tools de desarrollo, pero aún no puedo encontrarlos. También probé time.sleep() para permitir que la página se cargue. Es posible que me esté perdiendo algo muy fácil aquí, pero he estado atascado por un tiempo, se agradece cualquier ayuda :)

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Dado que el text se encuentra between a tag , le recomiendo que utilice LINK_TEXT como primera opción.

 WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.LINK_TEXT, "New Listing (186)"))).click()

o

 WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.PARTIAL_LINK_TEXT, "New Listing"))).click()

PD: asegúrese de no estar en any new tab or windows. ya que has mencionado que estás en la 3rd page.

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda