繁体   English   中英

在“自动完成”栏中,如何单击“ div div li”下的特定值

[英]In Autocomplete bar how to click the specific value under div ul li strong

我在divul下有很多li标签。 每个li标签都由strong标签组成:

<div style="width:380px" id="autoComplete" class="suggest fl">
    <div class="sWrap">
        <div class="iconWrap">
            <span class="nLoder" style="display: none;"></span>
        </div>
        <div>
            <input type="text" autocomplete="off" placeholder="Search" class="" id="keywords1" style="width:375px;" name="KEYWORDS">
       </div>
    </div>
    <div class="sugCont nScroll " id="sugDrp_autoComplete" style="display: none; width: 380px;">
        <ul class="Sdrop">
            <li class="sugTouple">
                <button style="width:100%" class="Sbtn  " tabindex="-1" type="button">
                    Acc
                    <strong>ounting</strong>
                </button>
            </li>
            <li class="sugTouple">
                <button style="width:100%" class="Sbtn" tabindex="-1" type="button">
                    Acc
                    <strong>ounts Payable</strong>
                </button>
            </li>
            <li class="sugTouple">
                <button style="width:100%" class="Sbtn" tabindex="-1" type="button">
                    Acc
                    <strong>ounts Receivable</strong>
                </button>
            </li>
            <li class="sugTouple">
                <button style="width:100%" class="Sbtn" tabindex="-1" type="button">
                    Acc
                    <strong>ount Management</strong>
                </button>
            </li>
        </ul>
    </div>
</div>

我当前的代码:

List<WebElement> optionsToSelect = driver.findElements(By.xpath("//ul[@class='Sdrop']"));
for (WebElement option : optionsToSelect) {
    System.out.println(option);
    if (option.getText().equals(textToSelect)) {
        System.out.println("Trying to select: "+textToSelect);
        option.click();
        break;
    }
}

如何选择值? 我缺少一些东西,引导我到达。

您应该计算li然后开始循环并在此处检查按钮文本为更新代码。

List<WebElement> optionsToSelect =  driver.findElements(By.xpath("//div[@id='sugDrp_autoComplete']/ul[@class='Sdrop']/li"));
for (WebElement option : optionsToSelect) {

   WebElement buttonObj = option.findElement(By.tagName("button"))
   if (buttonObj.getText().equals(textToSelect)) {
       System.out.println("Trying to select: "+textToSelect);
       buttonObj .click();
       break;
   }
 }

您可以使用xpath直接单击按钮:

//button[@class='Sbtn' and text()='textToSelect']

如何使用following-sibling全部点击<li>里面<ul java< div><div id="text_translate"><p> 我可以点击“Mentorship”li 标签,但我想点击每个 li,从“Mentorship”标签链接开始</p><pre>&lt;ul _ngcontent-cwp-c18="" class="navigation clearfix"&gt; &lt;li _ngcontent-cwp-c18="" routerlinkactive="current" class=""&gt;&lt;a _ngcontent-cwp-c18="" href="#/index"&gt;Home&lt;/a&gt;&lt;/li&gt; &lt;li _ngcontent-cwp-c18=""&gt;&lt;a _ngcontent-cwp-c18="" href="https://courses.rahulshettyacademy.com/courses"&gt;Courses&lt;/a&gt;&lt;/li&gt; &lt;li _ngcontent-cwp-c18="" routerlinkactive="current" class="current"&gt;&lt;a _ngcontent-cwp-c18="" href="#/mentorship"&gt;Mentorship&lt;/a&gt;&lt;/li&gt; &lt;li _ngcontent-cwp-c18="" routerlinkactive="current"&gt;&lt;a _ngcontent-cwp-c18="" href="#/practice-project"&gt;Practice Projects&lt;/a&gt;&lt;/li&gt; &lt;li _ngcontent-cwp-c18="" routerlinkactive="current"&gt;&lt;a _ngcontent-cwp-c18="" href="#/consulting"&gt;Consulting&lt;/a&gt;&lt;/li&gt; &lt;li _ngcontent-cwp-c18="" routerlinkactive="current"&gt;&lt;a _ngcontent-cwp-c18="" href="#/part-time-jobs"&gt;Earn&lt;/a&gt;&lt;/li&gt; &lt;li _ngcontent-cwp-c18=""&gt;&lt;a _ngcontent-cwp-c18="" href="http://www.qaclickacademy.com/blog/"&gt;Articles&lt;/a&gt;&lt;/li&gt; &lt;li _ngcontent-cwp-c18="" routerlinkactive="current"&gt;&lt;a _ngcontent-cwp-c18="" href="#/about-my-mission"&gt;About&lt;/a&gt;&lt;/li&gt; &lt;li _ngcontent-cwp-c18="" routerlinkactive="current"&gt;&lt;a _ngcontent-cwp-c18="" href="#/contact-us"&gt;Contact&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;</pre><p> 这是我试过的:</p><pre> driver.get("http://www.qaclickacademy.com/"); driver.findElement(By.xpath("//ul[@class='nav navbar-nav navbar-right']//a[contains(text(),'Interview Guide')]")).click(); //mentorship driver.findElementByXPath("//div[@class='nav-outer clearfix']//a[contains(text(),'Mentorship')]").click(); //practice projects driver.findElementByXPath("//div[@class='nav-outer clearfix']//a[contains(text(),'Mentorship')]/following-sibling::li[1]").click(); //consulting driver.findElementByXPath("//div[@class='nav-outer clearfix']//a[contains(text(),'Mentorship')]/following-sibling::li[2]").click(); //earn driver.findElementByXPath("//div[@class='nav-outer clearfix']//a[contains(text(),'Mentorship')]/following-sibling::li[3]").click();</pre><p> 请问,我如何使用以下兄弟姐妹点击每一行,从特定的一行开始?</p></div></ul></li>

[英]How to use following-sibling to click in all <li> inside <ul JAVA

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 如何使用 java 在 selenium 中查找和列出 ul li 和 ul li 标签下的元素? Selenium with java - 需要点击一个按钮<div><ul><li> ? 如何单击Sulnium中ul中的li标签? 如何使用 Selenium Webdriver 在 ul 中单击 li 无法触发对硒中UL Li物品的点击 如何使用following-sibling全部点击<li>里面<ul java< div><div id="text_translate"><p> 我可以点击“Mentorship”li 标签,但我想点击每个 li,从“Mentorship”标签链接开始</p><pre>&lt;ul _ngcontent-cwp-c18="" class="navigation clearfix"&gt; &lt;li _ngcontent-cwp-c18="" routerlinkactive="current" class=""&gt;&lt;a _ngcontent-cwp-c18="" href="#/index"&gt;Home&lt;/a&gt;&lt;/li&gt; &lt;li _ngcontent-cwp-c18=""&gt;&lt;a _ngcontent-cwp-c18="" href="https://courses.rahulshettyacademy.com/courses"&gt;Courses&lt;/a&gt;&lt;/li&gt; &lt;li _ngcontent-cwp-c18="" routerlinkactive="current" class="current"&gt;&lt;a _ngcontent-cwp-c18="" href="#/mentorship"&gt;Mentorship&lt;/a&gt;&lt;/li&gt; &lt;li _ngcontent-cwp-c18="" routerlinkactive="current"&gt;&lt;a _ngcontent-cwp-c18="" href="#/practice-project"&gt;Practice Projects&lt;/a&gt;&lt;/li&gt; &lt;li _ngcontent-cwp-c18="" routerlinkactive="current"&gt;&lt;a _ngcontent-cwp-c18="" href="#/consulting"&gt;Consulting&lt;/a&gt;&lt;/li&gt; &lt;li _ngcontent-cwp-c18="" routerlinkactive="current"&gt;&lt;a _ngcontent-cwp-c18="" href="#/part-time-jobs"&gt;Earn&lt;/a&gt;&lt;/li&gt; &lt;li _ngcontent-cwp-c18=""&gt;&lt;a _ngcontent-cwp-c18="" href="http://www.qaclickacademy.com/blog/"&gt;Articles&lt;/a&gt;&lt;/li&gt; &lt;li _ngcontent-cwp-c18="" routerlinkactive="current"&gt;&lt;a _ngcontent-cwp-c18="" href="#/about-my-mission"&gt;About&lt;/a&gt;&lt;/li&gt; &lt;li _ngcontent-cwp-c18="" routerlinkactive="current"&gt;&lt;a _ngcontent-cwp-c18="" href="#/contact-us"&gt;Contact&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;</pre><p> 这是我试过的:</p><pre> driver.get("http://www.qaclickacademy.com/"); driver.findElement(By.xpath("//ul[@class='nav navbar-nav navbar-right']//a[contains(text(),'Interview Guide')]")).click(); //mentorship driver.findElementByXPath("//div[@class='nav-outer clearfix']//a[contains(text(),'Mentorship')]").click(); //practice projects driver.findElementByXPath("//div[@class='nav-outer clearfix']//a[contains(text(),'Mentorship')]/following-sibling::li[1]").click(); //consulting driver.findElementByXPath("//div[@class='nav-outer clearfix']//a[contains(text(),'Mentorship')]/following-sibling::li[2]").click(); //earn driver.findElementByXPath("//div[@class='nav-outer clearfix']//a[contains(text(),'Mentorship')]/following-sibling::li[3]").click();</pre><p> 请问,我如何使用以下兄弟姐妹点击每一行,从特定的一行开始?</p></div></ul></li> 如何创建自动完成列表<li>父元素<ul>元素包含属性 style=&quot;display: none;&quot; 通过 Java Selenium 我想提取所有<li>下的元素文本<ul></ul></li> GWT如何在UiBinder中创建ul li小部件? Selenium - Select 列表中的项目按 ul li 值文本
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM