尝试在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;
无效
答案 0 :(得分:0)
实际上是通过在IDEA调试找到了答案。
@FindBy (xpath = "//textarea[@id='FeedbackMessage'][1]")
protected WebElement fm;
原因 - xpath定位器// textarea [@ id ='FeedbackMessage']可以提供元素列表(即使我只有一个元素)。 但使用CSS或ID选择器总是需要找到第一个找到的元素。
所以我只需要指出元素的索引