我想编写自己的定位器来访问元素。 WebDriver的API当前提供八个定位器,允许按ID,名称属性,标记名称,完整或部分链接文本,XPath,类名称和CSS选择器检索元素。但是,这些默认定位器现在对我来说还不够,因为我必须通过新属性访问元素。让我举个例子,这样您就可以在这里了解我的真正需求。
例子:
选择你的用户名:
现在,我想编写一个代码,以便可以使用myLocator定位器访问用户名按钮,如下所示:
*driver.findElement(By.myLocator("username")).*
如果有人可以给我们一些好主意,那我将如何重写BY类以添加自己的定位器,这将非常有帮助。
预先感谢您的帮助。
最佳答案
您需要子类化By
类,并提供findElement
和findElements
方法的实现,因为这是实际元素查找的“实质”发生的地方。
然后,您应该可以将其与普通的driver.FindElement
一起使用。
关于java - 如何在Java中为Selenium Webdriver编写自己的自定义定位器?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14263483/