【问题标题】:Unable to locate element href </a>无法定位元素 href </a>
【发布时间】:2021-08-31 00:53:15
【问题描述】:

请找到我想要获取管理员和版主名称和href链接的附件。

我在下面尝试过:

grp="https://m.facebook.com/groups/162265541050378?view=members&ref=m_notif&notif_t=group_r2j_approved"
driver.get(grp)
root1=driver.find_element_by_id("//*[@id='rootcontainer']")
if root1>0:
    admin=driver.find_elements_by_xpath("//*[@class='_4kk6 _5b6s']")
    ilink = admin.get_attribute('href')
    ilink2=admin.get_attribute('<a>')
    print(ilink)

错误

selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"css selector","selector":"[id="//*[@id='rootcontainer']"]"}
  (Session info: chrome=91.0.4472.101)

【问题讨论】:

    标签: python-3.x selenium selenium-webdriver web-scraping href


    【解决方案1】:

    对于管理员和版主姓名,您可以这样做:

    for names in driver.find_elements(By.XPATH, "//div[contains(@id, 'member_')]/div[2]/descendant::h3[1]")
        print(names.text)
    

    对于href

    for hrefs in driver.find_elements(By.XPATH, "//div[contains(@id, 'member_')]/div[4]/descendant::a")
         print(hrefs.get_attribute('href'))
    

    【讨论】:

    • 我已经更新了代码,如果您有任何问题,请告诉我。
    • 对于 href 无法获取仅获取文本名称的 href 链接。并打印两次
    • 我的错!我已经更新了代码。使用这个print(hrefs.get_attribute('href'))
    • 管理员和版主的名字你知道吗?我的意思是你提前知道有多少人
    • @pkk : 我已经更新了讨论中的代码,试试看告诉我
    【解决方案2】:

    首先//*[@id='rootcontainer'] 是XPath,而不是ID。所以你可以这样使用它

    root1=driver.find_element_by_xpath("//*[@id='rootcontainer']")
    

    或者这个:

    root1=driver.find_element_by_id("rootcontainer")
    

    这个ilink2=admin.get_attribute('&lt;a&gt;') 也不正确。不会工作。

    【讨论】:

      猜你喜欢
      • 2020-04-20
      • 1970-01-01
      • 2012-01-11
      • 1970-01-01
      • 2013-06-08
      • 1970-01-01
      相关资源
      最近更新 更多