1
我想要使用Selenium PageObjects来建模一个页面,该页面在标签上缺少很多方便的id
或class
属性,所以我发现我需要开发更有创意的方法来识别元素在一个页面上。其中之一是像下面这样的模式:如何扩展Selenium的FindBy注解
<div id="menuButtons">
<a><img src="logo.png" alt="New"></a>
<a><img src="logo2.png" alt="Upload"></a>
</div>
这将是方便,能够创建一个自定义findBy搜索能够通过其包含的图像标签的ALT文字标识链路,所以我可以做类似如下:
@FindByCustom(alt = "New")
public WebElement newButton;
以上的准确格式并不重要,但最重要的是,它继续与PageFactory.initElements
工作。
我不确定我是否可以简单地按照您现有的方式返回任何现有的“按照”。我正在寻找包含''标签的''标签,其中包含给定的'alt'属性,但您的CSS选择器只会给我''标签。如果我不能只重新使用现有的'By'方法,还有其他方法可以做到这一点吗? – user108471
@ user108471我添加了选项而不重写'findBy'注释。如果你想''你可以使用我添加的xpath而不是css选择器,但是这会在你每次使用它时返回alt属性父类。 'return By.xpath(“.// img [alt ='”+ using“+']”/ ..);' – Guy