selenium-webdriver – 如何填写具有相同类的表单字段

selenium-webdriver – 如何填写具有相同类的表单字段,第1张

概述我正在使用clj-webdriver测试网站表单.如果表单字段具有相同的类,我想知道如何使用(输入文本)函数. 从(输入文本)定义中,它给出了“将字符串s键入到查询q中找到的第一个表单元素”.由于每个领域都有相同的级别,当我给出时, (input-text ".class") 它只填补了第一个领域.有没有办法区分同一个类的所有字段? 表单的字段只有类和类型作为选择器. 谢谢 input-text只 @H_502_0@ @H_502_0@ 我正在使用clj-webdriver测试网站表单.如果表单字段具有相同的类,我想知道如何使用(输入文本)函数.

从(输入文本)定义中,它给出了“将字符串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 – 如何填写具有相同类的表单字段所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1062123.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存