我正在使用Selenium / Python,并且在编程方面还很新。我找不到适合自己情况的解决方案。
我正在尝试使用.send_keys在网页上填写字符串列表的内容。表单要求每个项目之间必须使用换行符分隔,如下所示:
item1
item2
item3
item4
item5
我有以下列表:items_list = [item1, item2, item4, item5]
所以我尝试了以下循环:
for it in items_list:
driver.find_element_by_id("WHATEVER ID").send_keys(items_list)
结果,表单被填充而没有换行符:
item1item2item3item4item5
我尝试使用items_list2 = '\n'.join(items_list)
失败了:我得到了
i
t
e
m
1
i
t
e
m
2
...and so on
由于我在编写代码时正在学习Python,所以我一定错过了一些东西,但是我不确定应该寻找什么。谢谢您的帮助。
答案 0 :(得分:0)
items_list = '\n'.join([item1, item2, item4, item5])
item_list = item_list.replace("\n", Keys.chord(Keys.SHIFT, Keys.ENTER))
driver.find_element_by_id("WHATEVER ID").send_keys(items_list2)
答案 1 :(得分:0)
好的,谢谢大家,我实际上找到了解决我问题的方法。我认为只要在每个列表项之后传递“ \ n”就是一个字符串,就像这样:
item1\nitem2\nitem3\nitem4\nitem5\n
但是它实际上在表单中添加了一个换行符:
for it in items_list:
driver.find_element_by_id("WHATEVER ID").send_keys(items_list)
driver.find_element_by_id("WHATEVER ID").send_keys("\n")
给出预期结果的
item1
item2
item3
item4
item5