我遇到了Selenium的一个主要问题,xpath在每次运行时都会发生变化。例如,这是仓库模块上邮政编码字段的字段标识符(我们系统中的模块之一):
(.//*[@id='warehouseMaintenance:j_idt137_body']/table/tbody/tr[4]/td[4]))
它变为
(.//*[@id='warehouseMaintenance:txtZip']))
执行期间。
任何想法如何避免这种情况?
答案 0 :(得分:0)
如果可能,您应该将ID分配给邮政编码字段。 使用链来定位元素不是一个好习惯。
如果您有多个页面,并且每个页面的命名约定不同。我建议你在字段中添加一个类名,然后使用cssselector类$ =' postalcode'找到元素。
例如,
<input type="text" class="xxx yyy warehouseMaintenance postalcode">
答案 1 :(得分:-1)