我对硒很陌生。在我们的网页上,开发人员使用jQuery选择填充列表。我想要做的是传递特定的文本,然后选择我输入的匹配文本。
所以我尝试了这个:
[FindsBy(How = How.XPath, Using = "//div[@id=MyDrpdown_chosen]//div[@class='chosen-drop']//div[contains(@class,'chosen-search')]/input"), CacheLookup]
private HtmlElement _selectItem;
_selectItem.SendKeys("Banana");
更新1
这是调试器工具中源检查的屏幕截图
但是我收到错误消息,找不到匹配的元素。有人可以引导我吗?
答案 0 :(得分:0)
// div [@ id = MyDropdown_chosen]
必须是
// div [@ id ='MyDropdown_chosen']
(您缺少单引号)
答案 1 :(得分:0)
更新1:只需更改您的下拉ID
像这样:MyDrpdown_chosen
[FindsBy(How = How.XPath, Using = "//div[@id=MyDrpdown_chosen]//div[@class='chosen-drop']//div[contains(@class,'chosen-search')]/input"), CacheLookup]
private HtmlElement _selectItem;
_selectItem.SendKeys("Banana");
答案 2 :(得分:0)
如果代码的速度快于结果的更新速度,则查找或与元素交互可能会遇到问题。您应该确保等待足够的时间以更新列表。
还要注意MyDrpdown_chosen周围的错字和引号。