【问题标题】:How do I get the value of a "$3" element value in selenium python如何在 selenium python 中获取“$3”元素值的值
【发布时间】:2021-04-17 14:16:22
【问题描述】:

我在从netlify 仪表板获取元素时遇到问题。 我当前选择了元素并显示了 Web 开发人员设置的基本元素的代码,所以很明显,他们使用 javascript 更新它,但是我如何得到它。在我的仪表板上,它显示 1 MB,但我的输出每次都是 0 KB,所以我似乎只得到了基本文本 我的代码:

driver = webdriver.Chrome()
driver.get("https://app.netlify.com/teams/jimbob0119/overview")
element = driver.find_element_by_name("github")
element.click()
driver.implicitly_wait(10) # seconds
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()
driver.implicitly_wait(10) # seconds
getbandwidth = driver.find_element_by_xpath("//dd[@class='tw-text-xl tw-mt-4px tw-leading-none']")
print(getbandwidth.text)

HTML:

<dd class="tw-text-xl tw-mt-4px tw-leading-none"> 1 MB 
    <span class="tw-text-gray-darker dark:tw-text-gray-light tw-text-base">
        <span class="tw-sr-only">
            out of
        </span> /100 GB 
    </span>
    <span class="tw-absolute tw-mt-2px tw-w-full">
    </span>
</dd>

我的输出:

0 KB
out of
/100 GB

【问题讨论】:

  • 请阅读为什么a screenshot of code is a bad idea。粘贴代码并正确格式化它。代码包括 HTML。
  • $3 特定于 Chrome 开发工具,不在 HTML 中,因此无法获取。如果您告诉我们您想要获得的价值,我们可以提供帮助。
  • 好的,对不起
  • 另外,implicitly_wait() 实际上并没有等待。它所做的是为该驱动程序实例设置超时。因此,您只需要调用一次,除非您计划将等待值从 10 秒更改为 30 秒或其他任何值。可以删除其余的调用。
  • 我正在尝试获取我的网站在 netlify.com 上使用的带宽,它已更新为 1 MB,但我只得到 0 KB,这显然是它的基础或原始状态

标签: javascript python-3.x selenium-webdriver


【解决方案1】:

JeffC 说明在打印之前输入time.sleep(5) 来解决这个问题,谢谢!

【讨论】:

    猜你喜欢
    • 2018-06-16
    • 2019-07-21
    • 2022-01-05
    • 1970-01-01
    • 1970-01-01
    • 2017-10-03
    • 2022-07-22
    • 2022-07-06
    • 1970-01-01
    相关资源
    最近更新 更多