【问题标题】:Can not select an element from the auto complete list using css selector无法使用 CSS 选择器从自动完成列表中选择元素
【发布时间】:2014-07-30 10:29:40
【问题描述】:

我正在尝试识别自动完成列表的元素。我使用的 CSS 选择器是

.tt-dataset-airports>span.tt-suggestions p

or
.tt-dataset-airports>span.tt-suggestions>.tt-suggestion p

List<WebElement> departureList=null;
        departureList=aDriver.findElements(By.cssSelector(".tt-dataset-airports>span.tt-suggestions p"));

       departureList.get(0).click();

但是,我无法从列表中选择元素。错误是 java.lang.IndexOutOfBoundsException:索引:0,大小:0

代码是

<div class="tt-dataset-airports">
<span class="tt-suggestions" style="display: block;">
<div class="tt-suggestion">
<p class="" style="white-space: normal;">
Any London 
<span class="pull-right"/>
</p>
</div>

问候

【问题讨论】:

    标签: java selenium-webdriver


    【解决方案1】:

    如果您必须使用 CssSelector,请查找文本。取自here

    By.cssSelector("td[class='someclass'][value='unique text']");
    

    或者,如果你按照以下方式编写,xpath 也会做得很好

    //p[.='Any London']
    

    【讨论】:

    • 抱歉,您的解决方案对我不起作用。当我使用以下代码时,该元素未从自动完成下拉列表中找到(By.cssSelector("td[class='tt-dataset-airports'][value='Any London']"))
    猜你喜欢
    • 2020-03-05
    • 2012-02-09
    • 2019-01-31
    • 1970-01-01
    • 2020-03-31
    • 2015-06-07
    • 2016-04-24
    • 2014-03-21
    • 2021-11-05
    相关资源
    最近更新 更多