我已经访问了一个网页,填充了所需参数的文本框和下拉列表,并提交了(按钮点击)此信息,以便网页可以执行计算。我试图访问结果(文本的值)。结果应该是列出的最小到最大的计算列表,我只想要最低值。我不确定我是否有计时问题或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选择器的问题,或者是时间问题,还是我还没想到的其他问题?我该如何解决?
答案 0 :(得分:0)
您可以尝试应用以下选择器:
driver.find_elements_by_css_selector('span[data-bind*=calc]')
在这里,我们得到span
个data-bind
个标签,其中{{1}}属性为" calc"在价值内。