C# 使用Xpath返回多个结果
我希望如果有人能提供帮助,我将尝试使用xpath表达式返回下面HTML代码段中指示的按钮值。是否可以在单个xpath中同时返回这两个值C# 使用Xpath返回多个结果,c#,selenium,xpath,selenium-webdriver,webdriver,C#,Selenium,Xpath,Selenium Webdriver,Webdriver,我希望如果有人能提供帮助,我将尝试使用xpath表达式返回下面HTML代码段中指示的按钮值。是否可以在单个xpath中同时返回这两个值 <div class="selectedFacetsContainer"> <div class="selected-facets-slide"> <button class="facet-button btn-large selected ng-scope keyword-facet" ng-click="remo
<div class="selectedFacetsContainer">
<div class="selected-facets-slide">
<button class="facet-button btn-large selected ng-scope keyword-facet" ng-click="removeFacet(sf)" ng-repeat="sf in selectedFacetsList">Thank</button>
<button class="facet-button btn-large selected ng-scope keyword-facet" ng-click="removeFacet(sf)" ng-repeat="sf in selectedFacetsList">You</button>
</div>
</div>
感谢
你
谢谢是的,您可以使用单个xpath获取这两个元素。这是怎么做的-
driver.findElements(By.cssSelector('.facet-button btn-large selected ng-scope keyword-facet'));
您还可以使用className
-
driver.findElements(By.className('facet-button btn-large selected ng-scope keyword-facet'));
但是为了从每一个数据中提取值,您需要为此编写一些额外的代码
希望对您有所帮助这会给您带来您想要的东西
_driver.findElement(By.xpath("//div[@class='selected-facets-slide']"));
您可以使用以下代码使用一个Xpath获取这两个值
List<WebElement> abc = driver.findElements(By.xpath("//button[@class='facet-button btn-large selected ng-scope keyword-facet']"));
System.out.print(abc.size());
Iterator<WebElement> itr = abc.iterator();
while (itr.hasNext())
{
WebElement a = itr.next();
System.out.println(a.getText());
}
List abc=driver.findElements(By.xpath(//button[@class='facet-button btn large selected ng scope关键字facet']);
System.out.print(abc.size());
迭代器itr=abc.Iterator();
while(itr.hasNext())
{
WebElement a=itr.next();
System.out.println(a.getText());
}
实际上,您必须使用
findElements()
,它返回WebElement
s的列表。一旦我们得到WebElement
s的列表,我们就可以使用迭代器
从WebElement
的注释中获取所有值,您似乎可以使用CSS选择器而不是XPath。如果是这样的话,这个代码应该可以工作。它获取WebElement
的列表
,然后您可以通过该列表循环获取所需的值
List<WebElement> buttons = driver.findElements(By.cssSelector("button.facet-button.btn-large.selected.ng-scope.keyword-facet"));
for (WebElement button : buttons)
{
System.out.println(button.getText().trim());
}
List buttons=driver.findElements(By.cssSelector(“button.facet button.btn large.selected.ng scope.keyword facet”);
用于(WebElement按钮:按钮)
{
System.out.println(button.getText().trim());
}
非常感谢@Girish Sorturappreciated@AkifTahir你在找什么?您想从中提取值,还是只提取返回两个元素的xpath?还是解决了你的问题?