我正在尝试创建一个脚本来自动为我的工作填写考勤卡。我在使用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作为我的浏览器。
我不知道我做错了什么...提前谢谢! :)
答案 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)