【问题标题】:How can I get this SPECIFIC element in selenium in python如何在 python 中的 selenium 中获取此特定元素
【发布时间】:2021-04-16 00:16:40
【问题描述】:

更新: 因此,多亏了投票的答案,它显示了一些信息而不是正确的信息,它显示了0kb out of 100,并且当在检查元素控制台中执行console.log($0) 时,该项目将显示在控制台中我该如何获取这个

我想创建一个 python 3.x 程序,使用 selenium 获取 netlifyeasybase 的统计信息。我已经遇到的问题是该元素没有特定的类名,并且文本小部件不仅仅是一个

标签也不是标签。这是netlify the screenshot的html截图,这是我使用的代码

element = driver.find_element_by_name("github")
element.click()
login = driver.find_element_by_name("login")
login.send_keys(email)
password = driver.find_element_by_name("password")
password.send_keys(passwordstr)
loginbtn = driver.find_element_by_name("commit")
loginbtn.click()
getbandwidth = driver.find_element_by_xpath('//*[@id="main"]/div/div[1]/div/section/div/div/div/dl/div/dd')
print(getbandwidth.text)

【问题讨论】:

    标签: python html python-3.x selenium xpath


    【解决方案1】:
    getbandwidth = driver.find_element_by_xpath("//dd[@class='tw-text-xl tw-mt-4px tw-leading-none']")
    

    您可以使用它来获取该类的第一个 xpath。下面做同样的事情,但如果你想索引具有相似类的其他元素。

    (//dd[@class='tw-text-xl tw-mt-4px tw-leading-none'])[1]
    

    通常我们使用 webdriver 等待让元素变得可见。

    from selenium.webdriver.common.by import By
    from selenium.webdriver.support.ui import WebDriverWait 
    from selenium.webdriver.support import expected_conditions as EC
    getbandwidth = WebDriverWait(driver, 10).until(EC.visibility_of_element_located((By.XPATH,"//dd[@class='tw-text-xl tw-mt-4px tw-leading-none']")))
    

    【讨论】:

    • raise exception_class(message, screen, stacktrace) selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"xpath","selector":" //dd[@class='tw-text-xl tw-mt-4px tw-leading-none']"} (Session info: chrome=90.0.4430.72) 拉这个错误
    • 在此之前添加一个小等待,因为您之前使用了 .click()。
    • 没问题接受我的回答。我将添加一个 webdriver 等待答案。
    • 遗憾的是,结果不是我所期望的,但正如您在屏幕截图中看到的那样,我使用了 19mb 的带宽,输出产生的状态为 0kb 很混乱
    • 使用我发布的第二行并尝试一下。它使用该 xpath 获取第一个值。
    猜你喜欢
    • 1970-01-01
    • 2018-06-16
    • 1970-01-01
    • 2020-03-19
    • 2019-07-21
    • 1970-01-01
    • 1970-01-01
    • 2021-03-12
    • 1970-01-01
    相关资源
    最近更新 更多