【问题标题】:how to change value in selenium List <Webelement>如何更改硒列表 <Webelement> 中的值
【发布时间】:2020-11-16 03:10:45
【问题描述】:

我正在尝试从 List 中获取一个值,然后如果它不是我所期望的值,则更改该值。我想做的是导航到下一页。网站有“previous”、“1”等。我想从列表中获取“上一个”,然后将其更改为“2”,这样我就可以向前导航。如果我能解释清楚,请告诉我。请看我下面的代码,有什么办法可以改变列表值吗?我在做什么不起作用:

try {
            nextPage_02 = driver.findElements(By.xpath("//a[contains(@href,'=sr_pg_')]"));

if (nextPage_02 != null || ((WebElement) nextPage_02).isDisplayed()) {
                for(WebElement g : nextPage_02) {
                    if(g.getText().equals("previous")) {
                        g.getText().replace("previous", "0") ;
                        System.out.println(g.getText());
                        int nextPageToInt = Integer.parseInt(g.getText());
                        int nextPage_content ;
                        int i ;
                        for(i= 0 ; i < 4 ; i++) {
                            nextPage_content = nextPageToInt + i;
                            if(nextPageToInt == nextPage_content ) {
                                ((WebElement) nextPage_02).click();
                            }
                        }
                    }

【问题讨论】:

  • 你到底想做什么?是否要在现场更改列表值?
  • 字符串g.getText() 仅存在于for 块内。如果您再次调用g.getText(),您将获得WebElement 的原始文本。
  • 我想要做的是导航到下一页。网站有“previous”、“1”等。我想从列表中获取“上一个”,然后将其更改为“2”,这样我就可以向前导航。如果我能解释清楚,请告诉我。

标签: java list selenium testing arraylist


【解决方案1】:

如果您想更改从列表中获取的值,而不是更改网页上的列表值,您可以这样做:

try {
    public static List<WebElement> nextPage_02 = driver.findElements(By.xpath("//a[contains(@href,'=sr_pg_')]"));
    for (WebElement g : nextPage_02) {
        String str = g.getText();
        if(str.equals("someText")) {
            str = str.replaceAll("someText", "2") ;
            int nextPageToInt = Integer.parseInt(str);
            // do something with nextPageToInt??
        }
    }
}

如果您想更改网页上的列表值,请告诉我们您的真实意图。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-22
    • 1970-01-01
    • 2017-05-02
    • 1970-01-01
    • 1970-01-01
    • 2017-03-27
    相关资源
    最近更新 更多