Python Selenium CSS Span 选择器 get_attribute

Python Selenium CSS Selector by Span get_attribute

我已经访问了一个网页,用所需参数填充了文本框和下拉菜单,并提交(单击按钮)此信息,以便该网页可以执行计算。我正在尝试访问结果(文本值)。结果应该是从最小到最大列出的计算列表,我只想要最低值。我不确定我是否遇到了计时问题或 CSS 选择器问题。

我试过:

e = driver.find_elements_by_css_selector("span[data-bind='calc']")
new = e[0].text
print(new)

错误:IndexError:列表索引超出范围

我想确保数据 table 在我尝试访问它的计算元素之前被完全填充,我也尝试过:

output_by_css = WebDriverWait(driver, 10).until(
lambda driver : driver.find_elements_by_css_selector('span.calc')
)

for output in (output_by_css):
    print(output.text)

错误:引发 TimeoutException(消息、屏幕、堆栈跟踪) selenium.common.exceptions.TimeoutException:消息:

谁能帮我确定这是 CSS Selector by span 的问题,还是时间问题,还是我还没有想到的其他问题?我该如何解决?

您可以尝试应用以下选择器:

driver.find_elements_by_css_selector('span[data-bind*=calc]')

这里我们获取所有具有 data-bind 属性且值中包含 "calc" 的 span 标签。