在我的课程中定义了以下WebElements
@FindBy(xpath = ".//div[contains(@id, 'myform')]")
private WebElement form;
@FindBy(xpath = ".//div[contains(@id, 'myform')]"+ "/div/div/div/fieldset/div/div/div/div/div/div/div/input[contains(@id, 'name')]")
private WebElement name;
我能够在名称WebElement上找到并执行sendKeys。 但是这个“/ div / div / div / fieldset / div / div / div / div / div / div / div /”看起来并不好看。我怎样才能避免它并仍能找到我的元素?
答案 0 :(得分:0)
使用
<Menu VerticalAlignment="Top">
<MenuItem Header="Items">
<MenuItem Name="item1" Header="Item #1" IsCheckable="True" />
<MenuItem Name="item2" Header="Item #2" IsEnabled="{Binding ElementName=item1,Path=IsChecked}" />
</MenuItem>
</Menu>
答案 1 :(得分:0)
如果您拥有该元素的id
,那么您可以使用它直接找到该元素,例如.-
@FindBy(id= "name")
虽然您也可以尝试以这种方式使用xpath
-
@FindBy(xpath = "//input[contains(@id, 'name')]")
或
@FindBy(xpath = "//div[contains(@id, 'myform')]//input[contains(@id, 'name')]")
答案 2 :(得分:0)
如果ID可用,最好使用ID。因此,使用id声明将是:
@FindBy(id = "name");
但如果您想使用x-path,请以最短的形式尝试:
@FindBy(xpath = "//input[@id ='name']");