Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/364.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用列表<;WebElement>;网络驱动程序_Java_List_Webdriver_Testng_Parents - Fatal编程技术网

Java 如何使用列表<;WebElement>;网络驱动程序

Java 如何使用列表<;WebElement>;网络驱动程序,java,list,webdriver,testng,parents,Java,List,Webdriver,Testng,Parents,我正在为一些Web创建一个自动测试,我正在使用WebDriver、TestNG和用Java编写的代码。页面上显示的是类别注册,括号中是拍卖数量,我需要将这个数字作为变量 我使用这个代码 By bycss =By.cssSelector(".list.list-categories>li:first-child"); WebElement number1_1_vse = driver.findElement(bycss ); String text_vse1_1 = number1_1_vs

我正在为一些Web创建一个自动测试,我正在使用WebDriver、TestNG和用Java编写的代码。页面上显示的是类别注册,括号中是拍卖数量,我需要将这个数字作为变量

我使用这个代码

By bycss =By.cssSelector(".list.list-categories>li:first-child");
WebElement number1_1_vse = driver.findElement(bycss );
String text_vse1_1 = number1_1_vse.getText();
但我只得到第一个号码,我需要得到所有号码。有人建议我应该使用这个列表。但当我使用它时,我只得到

[[[[[[[FirefoxDriver: firefox on WINDOWS (7e6e0d0f-5cbb-4e48-992f-26d743a321a5)] -> css selector: .list.list-categories>li:first-child]] -> xpath: ..]] -> xpath: .//*], [[[[[[FirefoxDriver: firefox on WINDOWS (7e6e0d0f-5cbb-4e48-992f-.....
代码:

By bycss2 =By.cssSelector(".list.list-categories>li:first-child");
WebElement number1_1_vse2 = driver.findElement(bycss2 );
WebElement parent1 = number1_1_vse2.findElement(By.xpath(".."));
List<WebElement> childs1 = parent1.findElements(By.xpath(".//*"));
System.out.println(childs1);
By bycss2=By.cssSelector(“.list.list categories>li:第一个子项”);
WebElement number1\u 1\u vse2=driver.findElement(bycss2);
WebElement parent1=number1_1_vse2.findElement(By.xpath(“…”);
List childs1=parent1.findElements(By.xpath(“./*”);
系统输出打印项次(childs1);


有人能告诉我吗?

请尝试以下代码:

//...
By mySelector = By.xpath("/html/body/div[1]/div/section/div/div[2]/form[1]/div/ul/li");
List<WebElement> myElements = driver.findElements(mySelector);
for(WebElement e : myElements) {
  System.out.println(e.getText());
}
/。。。
By mySelector=By.xpath(“/html/body/div[1]/div/section/div/div[2]/form[1]/div/ul/li”);
List myElements=driver.findElements(mySelector);
for(WebElement e:myElements){
System.out.println(e.getText());
}
它将返回
  • 标记的全部内容,如:

    <a class="extra">Vše</a> (950)</li>
    
    Vše(950)
    

    但是您现在可以很容易地从中获取数字,例如使用
    split()
    和/或
    substring()

    尝试以下代码:

    //...
    By mySelector = By.xpath("/html/body/div[1]/div/section/div/div[2]/form[1]/div/ul/li");
    List<WebElement> myElements = driver.findElements(mySelector);
    for(WebElement e : myElements) {
      System.out.println(e.getText());
    }
    
    /。。。
    By mySelector=By.xpath(“/html/body/div[1]/div/section/div/div[2]/form[1]/div/ul/li”);
    List myElements=driver.findElements(mySelector);
    for(WebElement e:myElements){
    System.out.println(e.getText());
    }
    
    它将返回
  • 标记的全部内容,如:

    <a class="extra">Vše</a> (950)</li>
    
    Vše(950)
    
    但是您现在可以很容易地从中获取数字,例如使用
    split()
    和/或
    substring()

    尝试以下逻辑

    driver.get("http://www.labmultis.info/jpecka.portal-exdrazby/index.php?c1=2&a=s&aa=&ta=1");
    
    List<WebElement> allElements=driver.findElements(By.cssSelector(".list.list-categories li"));
    
    for(WebElement ele :allElements) {
        System.out.println("Name + Number===>"+ele.getText());
        String s=ele.getText();
        s=s.substring(s.indexOf("(")+1, s.indexOf(")"));
        System.out.println("Number==>"+s);
    }
    
    ====Output======
    Name + Number===>Vše (950)
    Number==>950
    Name + Number===>Byty (181)
    Number==>181
    Name + Number===>Domy (512)
    Number==>512
    Name + Number===>Pozemky (172)
    Number==>172
    Name + Number===>Chaty (28)
    Number==>28
    Name + Number===>Zemědělské objekty (5)
    Number==>5
    Name + Number===>Komerční objekty (30)
    Number==>30
    Name + Number===>Ostatní (22)
    Number==>22
    
    driver.get(“http://www.labmultis.info/jpecka.portal-exdrazby/index.php?c1=2&a=s&aa=&ta=1");
    List Allegements=driver.findElements(By.cssSelector(“.List.List-categories li”);
    for(WebElement元素:等位基因){
    System.out.println(“Name+Number==>”+ele.getText());
    字符串s=ele.getText();
    s=s.substring(s.indexOf(“”+1,s.indexOf(“”));
    System.out.println(“编号==>”+s);
    }
    ==输出======
    姓名+号码==>Vše(950)
    数字==>950
    姓名+号码==>Byty(181)
    数字==>181
    姓名+号码==>Domy(512)
    数字==>512
    姓名+号码==>Pozemky(172)
    数字==>172
    姓名+号码==>Chaty(28)
    数字==>28
    姓名+编号==>Zemědělskéobjekty(5)
    数字==>5
    姓名+号码==>Komerčníobjekty(30)
    数字==>30
    姓名+号码==>ostatni(22)
    数字==>22
    
    尝试以下逻辑

    driver.get("http://www.labmultis.info/jpecka.portal-exdrazby/index.php?c1=2&a=s&aa=&ta=1");
    
    List<WebElement> allElements=driver.findElements(By.cssSelector(".list.list-categories li"));
    
    for(WebElement ele :allElements) {
        System.out.println("Name + Number===>"+ele.getText());
        String s=ele.getText();
        s=s.substring(s.indexOf("(")+1, s.indexOf(")"));
        System.out.println("Number==>"+s);
    }
    
    ====Output======
    Name + Number===>Vše (950)
    Number==>950
    Name + Number===>Byty (181)
    Number==>181
    Name + Number===>Domy (512)
    Number==>512
    Name + Number===>Pozemky (172)
    Number==>172
    Name + Number===>Chaty (28)
    Number==>28
    Name + Number===>Zemědělské objekty (5)
    Number==>5
    Name + Number===>Komerční objekty (30)
    Number==>30
    Name + Number===>Ostatní (22)
    Number==>22
    
    driver.get(“http://www.labmultis.info/jpecka.portal-exdrazby/index.php?c1=2&a=s&aa=&ta=1");
    List Allegements=driver.findElements(By.cssSelector(“.List.List-categories li”);
    for(WebElement元素:等位基因){
    System.out.println(“Name+Number==>”+ele.getText());
    字符串s=ele.getText();
    s=s.substring(s.indexOf(“”+1,s.indexOf(“”));
    System.out.println(“编号==>”+s);
    }
    ==输出======
    姓名+号码==>Vše(950)
    数字==>950
    姓名+号码==>Byty(181)
    数字==>181
    姓名+号码==>Domy(512)
    数字==>512
    姓名+号码==>Pozemky(172)
    数字==>172
    姓名+号码==>Chaty(28)
    数字==>28
    姓名+编号==>Zemědělskéobjekty(5)
    数字==>5
    姓名+号码==>Komerčníobjekty(30)
    数字==>30
    姓名+号码==>ostatni(22)
    数字==>22
    
    列出myElements=driver.findElements(By.xpath(“some/path//a”);
    System.out.println(“列表的大小:+myElements.Size());
    for(WebElement e:myElements)
    {        
    System.out.print(“锚定选项卡内的文本”+e.getText()+“\t”);
    System.out.println(“锚定:+e.getAttribute(“href”);
    }
    
    //注意:“//a”将在XPATH到达点后为您提供所有锚定。

    List myElements=driver.findElements(By.XPATH(“some/path//a”);
    System.out.println(“列表的大小:+myElements.Size());
    for(WebElement e:myElements)
    {        
    System.out.print(“锚定选项卡内的文本”+e.getText()+“\t”);
    System.out.println(“锚定:+e.getAttribute(“href”);
    }
    
    //注意:“//a”将在XPATH到达点后为您提供所有锚定