Selenium webdriver 无法使用getText()获取webelements文本框值列表;和getAttribute();
我已经列出了存储的webelements,在该列表中,一些元素将通过getSelenium webdriver 无法使用getText()获取webelements文本框值列表;和getAttribute();,selenium-webdriver,Selenium Webdriver,我已经列出了存储的webelements,在该列表中,一些元素将通过getgetText()获取文本框值和一些将通过getAttribute()
getText()获取文本框值代码>和一些将通过getAttribute()这里我做了一个for循环,提到getAttribute()编码>到webelement列表中,并获取每个webelement的文本框值,但这里我得到的是getAttribute()代码>文本框值包含getText()的其余元素代码>我无法获取那些文本框值。
是否存在必须同时满足两种方法的IF条件,即gettext()代码>和getAttribute()编码>并获取文本框值,如果我只使用该方法获取的方法文本框值,其余元素将显示空白,这里是控制台O/P
List<WebElement> e=new ArrayList<WebElement>();
e.add(sign.empchequedatetext);
e.addAll(sign.wagestlistvalues);
e.addAll(sign.taxesvalue);
e.addAll(sign.additionalincomelistvalues);
e.addAll(sign.otherdeductionslistvalues);
e.add(sign.netpayvalue);
int calculatevaluessize= e.size();
System.out.println("the total value size: "+calculatevaluessize);
System.out.println("taxes size is: " + taxesvalues+"||"+wages+"||"+add+"||"+deduc);
List<WebElement> emplist = s.getOptions();
int empsize = emplist.size();
System.out.println("emp size is: " + empsize);
try {
for (int i = 0; i < empsize; i++) {
WebElement emp = emplist.get(i);
emp.click();
String empname = emp.getText();
excel.setCellData(path, "Sheet2", i + 1, 0, empname);
Thread.sleep(1000);
for (int j = 0; j < calculatevaluessize; j++) {
WebElement taxesvalue = e.get(j);
Thread.sleep(1000);
String values = taxesvalue.getAttribute("value");
System.out.println("the calculate pay values are: "+values);
excel.setCellData(path, "Sheet2", i + 1, j + 1, values);
}
List e=new ArrayList();
e、 添加(sign.empchequedatetext);
e、 addAll(sign.wagestlistvalues);
e、 addAll(符号taxesvalue);
e、 addAll(符号additionalincomelistvalues);
e、 addAll(sign.otherDeclarationsListValues);
e、 添加(签名为netpayvalue);
int calculatevaluessize=e.size();
System.out.println(“总值大小:“+CalculateValueAssize”);
System.out.println(“税大小为:“+taxesvalues+”|||“+”工资+“|||“+add+”||“+deduc”);
List emplist=s.getOptions();
int empsize=emplist.size();
System.out.println(“emp大小为:“+empsize”);
试一试{
对于(int i=0;i
请在我的第二个for循环中提及任何if条件,我已经尝试过了,但是我必须放置哪种类型的条件您可以创建一个简单的方法来返回一件事或另一件事:
private String getRowText(WebElement taxesvalue){
if (taxesvalues.getText() == null){
return taxesvalue.getAttribute("value");
}
return taxesvalues.getText();
}
此方法应替换您的taxesvalue.getAttribute(“value”);
您好,您提到的上述条件对包含的元素getText()有效,但对getAttribute()无效;对于包含它的元素在Console中显示空白,可能是其他属性,即包含有效字符串的属性?能否共享一个getText working WebElement和一个getAttribute WebElement?在上述列表中,我已将webelements存储在可通过getText()或getAttribute()获取的属性中;我单独尝试了每个元素,因为我制作了一个列表和for循环,必须提到if else条件,该条件可以为getText和getAttribute的每个webelement解决。如果我使用getText();必须获取getAttribute的元素在控制台中带有“null”,如果我使用getAttribute();必须获取getText的元素带有空白。它在textbox中有值,但在控制台中显示空白。这可能是因为页面在第一个循环中有一定的刷新。这意味着,空值可能是因为WebElement而不是属性。在获取属性之前,是否可以打印元素?