【问题标题】:python selenium - Unable to locate element in justdial sitepython selenium - 无法在justdial站点中找到元素
【发布时间】:2020-09-05 01:43:31
【问题描述】:

我已经试过了

  1. 隐式和显式等待
  2. 等待.直到
  3. 时间模块

在这里,我试图在 justdial 上找到“加载更多评论”链接。这是link。请检查并提供帮助。

from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager

browser = webdriver.Chrome(ChromeDriverManager().install())
browser.get("https://www.justdial.com/Delhi/S-K-Premium-Par-Hari-Nagar/011PXX11-XX11-131128122154- 
B8G6_BZDET")



elem = browser.find_element_by_xpath('//*[@id="lmrehd"]')

elem.click()

请给我一些解释的解决方案。

【问题讨论】:

    标签: jquery python-3.x selenium web-scraping beautifulsoup


    【解决方案1】:

    查找包含 Load more reviews as it's text 的 span 标签。

    from selenium import webdriver
    from selenium.webdriver.common.by import By
    from selenium.webdriver.support.ui import WebDriverWait
    from selenium.webdriver.support import expected_conditions as EC
    from webdriver_manager.chrome import ChromeDriverManager
    
    browser = webdriver.Chrome(ChromeDriverManager().install())
    browser.get("https://www.justdial.com/Delhi/S-K-Premium-Par-Hari-Nagar/011PXX11-XX11-131128122154-B8G6_BZDET")
    
    element = WebDriverWait(browser, 20).until(
    EC.element_to_be_clickable((By.XPATH, "//span[text()='Load More Reviews..']")))
    element.click()
    
    browser.quit()
    

    【讨论】:

      【解决方案2】:

      这个网站是动态的,每次重新加载页面时id都会改变,

      你不能用 id 来抓取它。

      尝试其他内容,例如文本内容

      【讨论】:

        猜你喜欢
        • 2018-01-10
        • 2018-08-01
        • 1970-01-01
        • 1970-01-01
        • 2022-09-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-09-16
        相关资源
        最近更新 更多