繁体   English   中英

使用className的FindallElements不起作用,但将相同的代码与xpath一起使用

[英]FindallElements using className does not work but using the same code with xpath works

为了练习,我正在编写代码,并且遇到了一个非常奇怪的问题。 我正在尝试使用className查找所有元素的列表。 当我检查列表大小时,它返回了0,但与xpath一起使用时却是同一个类。 我的代码如下

    WebDriver driver  = new FirefoxDriver();
    driver.manage().window().maximize();
    driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
    driver.get("http://www.localbanya.com/home/search?searchKeyword=dove");

    driver.findElement(By.xpath("//*[@class='ms-choice']")).click();
    Thread.sleep(2000);
    driver.findElement(By.xpath("//*[@class='ms-drop       bottom']//li[4]/label")).click();
    driver.findElement(By.cssSelector(".proceed-button.button")).click();
    Thread.sleep(1000);
     List<WebElement> prList = driver.findElements(By.xpath("//*[@class='prName']"));

    // This particular code does not work  but same class name used above works 
    //----Interesting not working
    //List<WebElement> prList = driver.findElements(By.className(".prName"));

    System.out.println(prList.size());
    for (WebElement web : prList)
    {
        System.out.println(web.getText());
    }

    //driver.close();
}
List<WebElement> prList = driver.findElements(By.className("prName"));

它将起作用,无需使用. 当您使用By.className . 使用css选择器时需要。

如何从中获取ID<div> 如果它有多个具有相同类名的类,则使用 xpath 标记</div><div id="text_translate"><p>请找HTML:</p><pre> <div id="086" data-activity-type="CompatCheck" class="Activity"></div></pre><p> 这里只有常量值是data-activity-type="CompatCheck"并且类名对于所有其他元素都是相同的。</p><p> 在尝试使用data-activity-type <em>CompatCheck</em></p><p> 预计 output:</p><pre> 086</pre><p> 问题2:观察到唯一唯一值是id,在这种情况下我们如何获取。</p><p> 请查找HTML:</p><pre> <div id="0007" data-activity-type="CompatCheck" class="Activity"></div> <div id="110007" data-activity-type="CompatCheck" class="Activity"</div></pre><p> 尝试使用以下代码行时:</p><pre> findElement(By.xpath("//div[@data-activity-type='CompatCheck']")).getAttribute("id");</pre><p> 我只得到第一个ID,即; 0007</p><p> 但我总是需要第二个 id="110007",你能建议我获取第二个 id</p></div>

[英]How to fetch id from <div> tag using xpath if its has multiple classes with same classname

如何从中获取第二个ID<div> 如果它有多个具有相同类名和多个 div 标签的类,则使用 xpath 标签</div><div id="text_translate"><p>观察到唯一的唯一值是 id,在这种情况下我们如何获取。</p><p> 请查找HTML:</p><pre> <div id="0007" data-activity-type="CompatCheck" class="Activity"></div> <div id="110007" data-activity-type="CompatCheck" class="Activity"</div></pre><p> 尝试使用以下代码行时:</p><pre> findElement(By.xpath("//div[@data-activity-type='CompatCheck']")).getAttribute("id");</pre><p> 我只得到第一个ID,即; 0007</p><p> 但我总是需要第二个 id="110007",你能建议我获取第二个 id</p><p> 预计 output:110007</p></div>

[英]How to fetch second id from <div> tag using xpath if its has multiple classes with same classname and multiple div tag

暂无
暂无

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

相关问题 XPath 使用类名并包含文本 如果共享相同的类名,如何使用 xpath 或 cssSelector 获取多个 ID 如何从中获取ID<div> 如果它有多个具有相同类名的类,则使用 xpath 标记</div><div id="text_translate"><p>请找HTML:</p><pre> <div id="086" data-activity-type="CompatCheck" class="Activity"></div></pre><p> 这里只有常量值是data-activity-type="CompatCheck"并且类名对于所有其他元素都是相同的。</p><p> 在尝试使用data-activity-type <em>CompatCheck</em></p><p> 预计 output:</p><pre> 086</pre><p> 问题2:观察到唯一唯一值是id,在这种情况下我们如何获取。</p><p> 请查找HTML:</p><pre> <div id="0007" data-activity-type="CompatCheck" class="Activity"></div> <div id="110007" data-activity-type="CompatCheck" class="Activity"</div></pre><p> 尝试使用以下代码行时:</p><pre> findElement(By.xpath("//div[@data-activity-type='CompatCheck']")).getAttribute("id");</pre><p> 我只得到第一个ID,即; 0007</p><p> 但我总是需要第二个 id="110007",你能建议我获取第二个 id</p></div> 无法使用Selenium WebDriver单击带有xpath和类名的提交按钮 xpath 适用于 chrome 控制台,但不适用于 selenium 如何从中获取第二个ID<div> 如果它有多个具有相同类名和多个 div 标签的类,则使用 xpath 标签</div><div id="text_translate"><p>观察到唯一的唯一值是 id,在这种情况下我们如何获取。</p><p> 请查找HTML:</p><pre> <div id="0007" data-activity-type="CompatCheck" class="Activity"></div> <div id="110007" data-activity-type="CompatCheck" class="Activity"</div></pre><p> 尝试使用以下代码行时:</p><pre> findElement(By.xpath("//div[@data-activity-type='CompatCheck']")).getAttribute("id");</pre><p> 我只得到第一个ID,即; 0007</p><p> 但我总是需要第二个 id="110007",你能建议我获取第二个 id</p><p> 预计 output:110007</p></div> 使用CSS选择具有相同类名的多个元素 使用类名,css-selector和xpath从网站中查找元素 在使用具有与1个匹配节点的firepath中正常工作的相同xpath定位元素时获取InvalidSelectorException 使用href查找元素并单击它。 复制xpath不起作用
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM