Selenium 硒自动补全

Selenium 硒自动补全,selenium,Selenium,我在使用Selenium自动完成选项的选择时遇到了一些(实际上,很多)麻烦。目前,我能够自动输入文本,但是,我无法从弹出的下拉建议列表中选择任何内容。我试着在这里寻找我问题的一些答案,但没有任何效果。以下是我尝试选择的建议中出现的元素: <div class="cs-autocomplete-popup"> <div class="inner"> <div class="cs-autocomplete-Matches csc-autocom

我在使用Selenium自动完成选项的选择时遇到了一些(实际上,很多)麻烦。目前,我能够自动输入文本,但是,我无法从弹出的下拉建议列表中选择任何内容。我试着在这里寻找我问题的一些答案,但没有任何效果。以下是我尝试选择的建议中出现的元素:

<div class="cs-autocomplete-popup">
    <div class="inner">

        <div class="cs-autocomplete-Matches csc-autocomplete-Matches">
            <ul>
                <li class="cs-autocomplete-matchItem csc-autocomplete-matchItem">
                    <span class="csc-autocomplete-matchItem-content cs-autocomplete-matchItem-content" id="matchItem::matchItemContent">john doe</span>
                </li>
            </ul>
        </div>
        <div class="csc-autocomplete-addToPanel cs-autocomplete-addToPanel">
            <hr>
            <div class="content csc-autocomplete-addTermTo cs-autocomplete-addTermTo">Add "John Doe" to:</div>
            <ul>
                <li class="cs-autocomplete-authorityItem csc-autocomplete-authorityItem" id="authorityItem:">Local Persons</li>
            </ul>
        </div>
    </div>
    <div class="cs-autocomplete-popup-miniView csc-autocomplete-popup-miniView" style="top: 2px; left: 149px; display: none;"><div class="cs-miniView">
    <a href="../html/person.html?csid=urn:cspace:name(johndoe1456528631946)&amp;vocab=person" class="csc-autocomplete-popup-miniView-displayName cs-autocomplete-popup-miniView-displayName">john doe</a>
    <div>
        <span class="csc-autocomplete-popup-miniView-field1Label cs-autocomplete-popup-miniView-field1Label">b.</span>
        <span class="csc-autocomplete-popup-miniView-field1 cs-autocomplete-popup-miniView-field1" id="field1"></span>
    </div>
    <div>
        <span class="csc-autocomplete-popup-miniView-field2Label cs-autocomplete-popup-miniView-field2Label">d.</span>
        <span class="csc-autocomplete-popup-miniView-field2 cs-autocomplete-popup-miniView-field2" id="field2"></span>
    </div>
    <div>

        <span class="csc-autocomplete-popup-miniView-field3 cs-autocomplete-popup-miniView-field3" id="field3"></span>
    </div>
    <div>


    </div>
</div></div>
</div>

  • 无名氏

将“John Doe”添加到:
  • 本地人员
B D
从中,我试图选择“约翰·多伊”。有人知道一种有效/完整的方法吗?我将非常感谢你的帮助

driver.findElement(By.xpath(“获取自动完成文本框的确切字段地址”);
    driver.findElement(By.xpath("get the exact field address of autocomplete textbox"); 

    Thread.sleep(5000);
    //for xpath: need to take the common xpath from the list of the elements.

    List<WebElement> link=driver.findElements(By.xpath("//span[contains(@class, 'cs-autocomplete-matchItem-content') and .='john doe']");

    for(int i=0; i<=link.size(); i++)
     {

        if(link.get(i).getText().equalsIgnoreCase("john doe");
         {
        link.get(i).click();
         }
    }
睡眠(5000); //对于xpath:需要从元素列表中获取公共xpath。 List link=driver.findElements(By.xpath(//span[contains(@class,'cs autocomplete matchItem content'))和.='john doe']);
对于(int i=0;i应该单击哪个标记?我希望选择
john doe
),我将等待并单击此xpath://span[contains(@class,'cs autocomplete matchItem content')和。='john doe']