需要为第二个重复字符串加上SOP。 import java.util.HashSet; 导入java.util.concurrent.TimeUnit; 导入org.openqa.selenium.By; 导入org.openqa.selenium.WebDriver; 导入org.openqa.selenium.WebElement; 导入org.openqa.selenium.firefox.FirefoxDriver; 导入org.openqa.selenium.support.ui.Select; 公开课演示27{ 公共静态void main(字符串[]args) { WebDriver=newfirefoxdriver(); driver.manage().timeouts().implicitlyWait(20,TimeUnit.SECONDS); 驱动程序。获取(“file:///C:/Users/Administrator/Desktop/listDropdown.html"); WebElement listElement=driver.findElement(By.id(“countrySelect”); 选择=新选择(列表元素); List elements=select.getOptions(); int count=elements.size(); HashSet=newhashset(); 对于(int i=0;i
您可以用这种方式编写逻辑。我创建了一个需要为第二个重复字符串加上SOP。 import java.util.HashSet; 导入java.util.concurrent.TimeUnit; 导入org.openqa.selenium.By; 导入org.openqa.selenium.WebDriver; 导入org.openqa.selenium.WebElement; 导入org.openqa.selenium.firefox.FirefoxDriver; 导入org.openqa.selenium.support.ui.Select; 公开课演示27{ 公共静态void main(字符串[]args) { WebDriver=newfirefoxdriver(); driver.manage().timeouts().implicitlyWait(20,TimeUnit.SECONDS); 驱动程序。获取(“file:///C:/Users/Administrator/Desktop/listDropdown.html"); WebElement listElement=driver.findElement(By.id(“countrySelect”); 选择=新选择(列表元素); List elements=select.getOptions(); int count=elements.size(); HashSet=newhashset(); 对于(int i=0;i,java,selenium,duplicate-removal,Java,Selenium,Duplicate Removal,您可以用这种方式编写逻辑。我创建了一个ArrayList来捕获重复值。如果在重复列表中找到传入文本,我会将其作为参考。如果它不存在,我将打印它。否则,我将忽略它。这样,您可以抑制要打印的第二个重复文本 import java.util.HashSet; import java.util.concurrent.TimeUnit; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.o
ArrayList
来捕获重复值。如果在重复列表中找到传入文本,我会将其作为参考。如果它不存在,我将打印它。否则,我将忽略它。这样,您可以抑制要打印的第二个重复文本
import java.util.HashSet;
import java.util.concurrent.TimeUnit;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.support.ui.Select;
public class Demo27 {
public static void main(String[] args)
{
WebDriver driver=new FirefoxDriver();
driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
driver.get("file:///C:/Users/Administrator/Desktop/listDropdown.html");
WebElement listElement=driver.findElement(By.id("countrySelect"));
Select select=new Select(listElement);
List<WebElement> elements=select.getOptions();
int count=elements.size();
HashSet<String> set=new HashSet<String>();
for(int i=0;i<count;i++)
{
WebElement singleElement=elements.get(i);
String text=singleElement.getText();
if(!set.add(text))
{
System.out.println(text+"is duplicated");
}
}
driver.close();
}
}
布尔isSet=false;
列表重复项=新建ArrayList();
如果((isSet=set.add(text))){
//这将仅为添加的唯一值打印
System.out.println(text+“是唯一的”);
}
否则{
如果(!duplicates.contains(text)){
副本。添加(文本);
System.out.println(text+“是第一个副本”);
}
}
我的回答有帮助吗?第二个重复字符串是什么意思?美国重复欧洲重复欧洲重复-我不希望出现这种情况(第二个重复元素)我已经更新了答案。请查看!谢谢你…它很有效!!!!…我是java新手,你能建议如何改进我的编码逻辑吗?嗯,你最好把逻辑写在纸上并开始编码。这就是我开始的方式。请接受答案以结束问题。选择答案左侧的右勾。
boolean isSet = false;
List<String> duplicates = new ArrayList<String>();
if((isSet = set.add(text))){
//this will get printed for only unique values added
System.out.println(text+"is unique");
}
else{
if(!duplicates.contains(text)){
duplicates.add(text);
System.out.println(text+"is first duplicate");
}
}