如何使用Xpath为JavascriptExecutor(Selenium)编写webelement的路径

时间:2017-06-01 08:22:11

标签: javascript selenium xpath

尝试在Selenium WebDriver上编写自动测试。在页面Webelement上有CSS定位器:

@FindBy (css = "#FeedbackMessage")
protected WebElement fm;

还有以下聚焦这个元素的工作方法:

public void focusout(){
JavascriptExecutor js = (JavascriptExecutor) driver;

js.executeScript("arguments[0].blur();", fm);

问题是如何使用xpath定位器使用相同的方法。元素的xpath是//textarea[@id='FeedbackMessage']

琐碎的用法

@FindBy (xpath = "//textarea[@id='FeedbackMessage']")
protected WebElement fm;

无效

1 个答案:

答案 0 :(得分:0)

实际上是通过在IDEA调试找到了答案。

@FindBy (xpath = "//textarea[@id='FeedbackMessage'][1]") protected WebElement fm;

原因 - xpath定位器// textarea [@ id ='FeedbackMessage']可以提供元素列表(即使我只有一个元素)。 但使用CSS或ID选择器总是需要找到第一个找到的元素。

所以我只需要指出元素的索引