嗨,我对 Selenium 4.18.1 和 Python 3.12.2 有一个奇怪的问题,我不明白。 我想通过循环所有元素来从 Web 元素获取特定值,如下面的代码所示:
loads = waste_collection_points_editing_page.get_loads()
actual_loads_values = []
for i in loads:
# time.sleep(1)
values = i.text.split("\n")
del values[2:]
actual_loads_values.append(values)
但是当我这样做时,我没有得到这个值。我只得到空列表。
我尝试在调试模式下执行相同的操作 - 有趣的是,Web 元素列表已初始化,当我尝试在 pyhon 控制台的调试模式下获取此值时,我可以毫无问题地获取此值。 我尝试添加这一行
time.sleep(1)
它适用于它,但我不太明白为什么。
有人可以解释一下为什么我在没有 time.sleep 的情况下无法获得这个值。 Selenium 速度有问题还是其他什么问题?我是 Selenium 自动化方面的新手,我尝试弄清楚它。
基本上是页面加载需要时间。您可以使用 WebDriverWait 和预期条件。 WebDriverWait 是最好的选择,我遇到了同样的问题,它对我帮助很大。
你可以看看这个。