selenium - 如何使用硒比较两种方法
问题描述
下面是两种方法
gettablevalueprd("//div[@id='Catalog']//tr",2,"Large Angelfish",0,"EST-1");
gettablevalueshopcart("//div[@id='Catalog']//tr",2,"Large Angelfish",0,"EST-1");
下面是第一种方法
public static void gettablevalueprd(String xPath,int descriptionid,String expectvalue1,int itemid,String expectedvalue2) {
//String xPath = "//div[@id='Catalog']//tr";
List<WebElement> tableList = driver.findElements(By.xpath(xPath));
System.out.println("Item ID\t\tProduct ID\t\tDescription\t\tList Price\t\tButton");
System.out.println("--------------------------------------------------------------------------------------------------");
for(int i=1;i<tableList.size();i++) {
List<WebElement> listData = driver.findElements(By.xpath(xPath+"["+(i+1)+"]/td"));
for(int j=0;j<listData.size();j++) {
System.out.print(listData.get(j).getText()+"\t\t");
}
System.out.println();
}
// description is in the 3rd(2nd index) column so we can fetch that with the index number 2.
for(int i=1;i<tableList.size();i++) {
List<WebElement> listData = driver.findElements(By.xpath(xPath+"["+(i+1)+"]/td"));
if(listData.get(descriptionid).getText().trim().equals(expectvalue1)) {
System.out.println("Description for Item ID is "+listData.get(descriptionid).getText());
}
if(listData.get(itemid).getText().trim().equals(expectedvalue2)) {
System.out.println("Item ID is "+listData.get(itemid).getText());
//to click on add to cart button
listData.get(4).click();
break;
}
}
}
另一种方法是
public static void gettablevalueshopcart(String xPath1,int descriptionid, String expectvalue1, int itemid, String expectedvalue2) {
//String xPath1 = "//div[@id='Catalog']//tr";
List<WebElement> shoppingtableList = driver.findElements(By.xpath(xPath1));
System.out.println("Item ID\t\tProduct ID\t\tDescription\t\tInstock\t\tList Price\tTotalcost\t\tButton");
System.out.println("---------------------------------------------------------------------------------------------------------------------------------");
for(int i=1;i<shoppingtableList.size();i++) {
List<WebElement> listData = driver.findElements(By.xpath(xPath1+"["+(i+1)+"]/td"));
for(int j=0;j<listData.size();j++) {
System.out.print(listData.get(j).getText()+"\t\t");
}
System.out.println();
}
// description is in the 3rd(2nd index) column so we can fetch that with the index number 2.
for(int i=1;i<shoppingtableList.size();i++) {
List<WebElement> listData = driver.findElements(By.xpath(xPath1+"["+(i+1)+"]/td"));
if(listData.get(descriptionid).getText().trim().equals(expectvalue1)) {
System.out.println("Description for Item ID is "+listData.get(descriptionid).getText());
}
if(listData.get(itemid).getText().trim().equals(expectedvalue2)) {
System.out.println("Item ID is "+listData.get(itemid).getText());
break;
}
}
}
**这里我想要两个比较表中的两个值**
解决方案
推荐阅读
- r - 将顶点序列列表转换为R中的表
- javascript - 如何仅在 javascript 中的 onclick 上播放 gif
- algorithm - 如何根据某些条件合并两个大文件?
- google-sheets - 将范围与大括号 { } 组合时是否可以添加 IFERROR
- perl - Curl 工作正常,但 Perl LWP 无法将 Unicode 代码发布到 HTTPS 服务器
- ios - 拥有同步线程的目的
- python - 通过 gcloud 发送 Hadoop 作业
- directx - 何时使用 IDXGIFactory3::GetCreationFlags
- java - 持久实体如何具有关联标识符但在数据库中没有表示?
- mysql - 如何拆分字符串以显示在 MySQL 的不同列中