【发布时间】:2017-08-10 23:19:45
【问题描述】:
设置
我正在使用 Selenium 填写表格。
我有三个 Xpath 到表单中的三个不同字段,
'//*[@id="down-contact-box"]/div[3]/form/fieldset/div[2]/div[1]/div[1]/input'
'//*[@id="down-contact-box"]/div[3]/form/fieldset/div[2]/div[1]/div[2]/input'
'//*[@id="down-contact-box"]/div[3]/form/fieldset/div[2]/div[1]/div[3]/input'
只有最后一个 div[] 不同。
问题
我宁愿做一些更简洁的事情,而不是每次都使用它们
我正在寻找可以让我做的事情,
def x(i) = '//*[@id="down-contact-box"]/div[3]/form/fieldset/div[2]/div[1]/div[i]/input'
这样我只需要写x(1), x(2) 或x(3)。
我该怎么做?
【问题讨论】:
-
如果您考虑分享相关的
HTML,我觉得必须有更方便和令人信服的方式来识别这些节点。 -
这些 XPath 太长而且很脆弱(文档更改时很容易损坏)。如果您发布指向页面或相关 HTML 的链接并让我们手工制作 XPath,您会得到更好的答案。