使用webdriver(java)

时间:2015-08-27 18:57:46

标签: java html xpath attributes webdriver

我必须自动化要求标准内容的表单,例如用户的名字,姓氏,地址等。

这些表单位于属于不同客户的网站上,我们无法控制这些属性。属性会有所不同,但通常会有一些一致性。

这是一个例子。 &#34;名字&#34;文本字段通常包含idname属性,例如&#34;名字&#34;,&#34; fname&#34;,&#34; name1&#34;等< / p>

<input id="firstName" style="width:200px;" value="" type="text">

我想创建一个能够识别&#34; firstName&#34; (和其他常见的表单字段,但现在让我们坚持使用firstname)

一种方法是拥有最可能的firstname属性数组,例如:String[] firstNameSelectors = {"firstName", "fname", "name1"};

然后我可以遍历这些,检查它们对照xpath如下: //input[contains(@id, '" + firstNameSelectors[index] + "')]如果找到匹配,我会退出循环。

这将是有效的。但是这里出现了一个问题。如果它&#34;名字&#34;而不是&#34; firstName&#34;?或者&#34; FirstName&#34;,或&#34; FIRSTNAME&#34;。 xpath不会匹配,因为它区分大小写。

我尝试使用此xpath来解决区分大小写的问题: [contains(translate(@id, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz'),'" + firstNameSelectors[index] + "')] 。它有效,但我必须指定一个属性 - 这意味着我必须两次检查id属性和name属性。如果我想查看课程,我必须第三次这样做。等等。

简而言之,有没有更好的方法来解决这个问题?也许使用javascript执行器?

0 个答案:

没有答案