Span get_attribute的Python Selenium CSS Selector

时间:2015-07-27 18:58:43

标签: python selenium css-selectors timeoutexception

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

我试过了:

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

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

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

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选择器的问题,或者是时间问题,还是我还没想到的其他问题?我该如何解决?

1 个答案:

答案 0 :(得分:0)

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

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

在这里,我们得到spandata-bind个标签,其中{{1}}属性为" calc"在价值内。