【问题标题】:invalid selector: Unable to locate an element with the xpath expression. Failed to execute 'evaluate' on 'Document'无效的选择器:无法使用 xpath 表达式定位元素。无法对“文档”执行“评估”
【发布时间】:2015-05-08 03:24:34
【问题描述】:

尝试从下拉列表中选择第二个值。下拉由 div 类组成。

来自常量类:

public static final String HOME_PAGE_FLYING_FROM_ID = "departureAirport";
public static final String FLYING_FROM_AJAX_XPATH = "//div[contains(@class,'autocompletebox') and (rel,'departureAirport')]/p[2]/a";

来自我的 FlightSearch 课程:

    @FindBy(how = How.ID, using = HOME_PAGE_FLYING_FROM_ID)
        WebElement flyingFrom;

        @FindBy(how = How.XPATH, using = FLYING_FROM_AJAX_XPATH)
        WebElement flyingFromAjaxValue;

public void simpleFlighSearch() {

        flyingFrom.sendKeys("new");
        action.moveToElement(flyingFromAjaxValue).click().build().perform();
        LOGGER.debug("clicked`");

    }

这是我得到的错误: 无效的选择器:无法使用 xpath 表达式定位元素。无法对“文档”执行“评估”。

【问题讨论】:

  • 不确定,但您是否应该将 rel 属性称为 ... and @rel='departureAirport'
  • 发布您希望 XPath 返回的 HTML 的相关部分

标签: java xpath


【解决方案1】:

您很可能在 XPath 中遗漏了另一个“包含”和“@”,它应该如下所示:

//div[contains(@class,'autocompletebox') and contains(@rel,'departureAirport')]/p[2]/a

【讨论】:

    猜你喜欢
    • 2018-10-04
    • 1970-01-01
    • 2018-09-29
    • 2018-10-07
    • 2021-04-05
    • 2019-12-25
    • 2020-03-01
    • 2023-03-22
    • 2021-02-19
    相关资源
    最近更新 更多