【发布时间】: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