python2.7 - selenium使用for循环查找元素

时间:2016-10-26 23:37:53

标签: python-2.7 selenium

我正在尝试创建一个脚本来自动为我的工作填写考勤卡。我在使用selenium实现循环时遇到了麻烦。

例如,我有这么多行:

    browser.find_element_by_id("t_z12022421023027015111a68_b_1_r1").send_keys(8)
    browser.find_element_by_id("t_z12022421023027015111a68_b_2_r1").send_keys(8)
    browser.find_element_by_id("t_z12022421023027015111a68_b_3_r1").send_keys(8)
    browser.find_element_by_id("t_z12022421023027015111a68_b_4_r1").send_keys(8)
    browser.find_element_by_id("t_z12022421023027015111a68_b_5_r1").send_keys(8)

我想缩短它们:

for i in range(1, 6):
    browser.find_element_by_id("t_z12022421023027015111a68_b_[i]_r1").send_keys(8)

但是,我收到此错误消息:

selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element

有人可以帮忙吗?我有python 2.7并使用chrome作为我的浏览器。

我不知道我做错了什么...提前谢谢! :)

1 个答案:

答案 0 :(得分:1)

[i]不会自动地被i变量的值自动替换,您应该将其“格式化”为字符串:

for i in range(1, 6):
    browser.find_element_by_id("t_z12022421023027015111a68_b_{i}_r1".format(i=i)).send_keys(8)