从(输入文本)定义中,它给出了“将字符串s键入到查询q中找到的第一个表单元素”.由于每个领域都有相同的级别,当我给出时,
(input-text ".class")
它只填补了第一个领域.有没有办法区分同一个类的所有字段?
表单的字段只有类和类型作为选择器.
谢谢
解决方法input-text
只填补了第一场比赛. 使用quick-fill
填写所有内容.
例如.,:
(quick-fill {".class" "s"})
/编辑
你说“对于同一类的2个字段,我必须输入2和3作为值.而且如果类是”对象对象完成“,我可以将类视为”.object“.我不完全确定你的意思是什么后者,但据我所知,你想为不同的元素添加不同的值.
如果要查找特定元素,可以使用find-elements
.这些将返回elements的集合:
(find-elements {:class ".class"})
这将按照它们出现在页面上的顺序查找具有“.class”类的所有元素.
如果集合存储在变量文本中,则可以通过基于索引的输入文本将其添加到每个元素.因此,例如,如果你想为它们添加一个增加的索引,你可以使用map-indexed
将每个值的索引添加到元素中,如下所示(调用doall来遍历延迟序列中的每个元素 – 函数调用仅在元素时进行被访问,doall
使这种情况发生):
(defn fill! "Fills all elements with class class with increasing numbers." [class] (let [elements (find-elements {:class class})] (doall (map-indexed (fn [index element] (input-text element (str index))) elements))))
这个函数被称为like(fill!“.class”).
希望这可以帮助.
@H_502_0@ 总结以上是内存溢出为你收集整理的selenium-webdriver – 如何填写具有相同类的表单字段全部内容,希望文章能够帮你解决selenium-webdriver – 如何填写具有相同类的表单字段所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)