【发布时间】:2016-05-05 15:43:17
【问题描述】:
我正在测试一个网站,它有一个带有多个文本字段的对话框,有些带有日期选择器,有些没有。
由于某种原因,当我尝试通过 XPath selenium 定位输入时,会找到元素,但是当输入数据时,它会将键发送到顶部字段。这是我的硒代码示例:
DriverHelper.SendKeysByXpath("//input[@name='registrationStartDate']",CurrentDate);
DriverHelper.SendKeysByXpath("//input[@name='firstStartDate']",CurrentDate);
DriverHelper.SendKeysByXpath("//input[contains(@name,'lastStartDate')]","01/01/2018");
仅供参考,DriverHelper 是我调用的一个类,以使自己免于一遍又一遍地输入相同的 selenium 调用。
XPath 名称都是唯一的,据我所知,应该不会混淆我想将密钥发送到哪个输入。
以前有没有人遇到过类似的情况?
我正在尝试在 jsfiddle 中举一个例子,但到目前为止我无法在那里复制问题。
【问题讨论】:
-
使用 Firebug 检查文档上的 xpath,并确保它们在每一行都选择了您要查找的元素。如果 firebug 中突出显示的元素与使用相同 xpath 时获取键的元素之间存在差异,则需要调试 SendKeysByXpath 方法。
-
可能页面正在使用 JavaScript 将光标焦点强制到该元素,并且 Selenium 定位该元素后,焦点在发送键之前移动。身份证。我对 SendKeysByXPath 不熟悉——那是你自己创造的吗?这可能是罪魁祸首。此处显示的 XPath 看起来不错。
标签: selenium xpath selenium-webdriver webdriver jquery-ui-dialog