【问题标题】:Looping through URLs using Selenium使用 Selenium 循环访问 URL
【发布时间】:2017-06-02 20:45:37
【问题描述】:

在自动化方面,我完全是外行,我正在尝试弄清楚如何执行我认为非常基本的功能。本质上,我在一个网站上有几千个要删除的项目。我想这样做的方式基本上如下:

  1. 转到网址https://website.com/[itemnumber]
  2. 选择删除按钮(UI 元素)
  3. 增加 [itemnumber] 并删除下一个
  4. 如果 [itemnumber] 不存在(404 错误),则递增并转到下一个

再次,完全的外行。我真的不了解 JS,而且我现在唯一可以让我找到解决方案的就是 Selenium,但如果有更好的方法来执行此操作,我完全开放。谢谢!

【问题讨论】:

  • 最好不要在UI中打开直接删除发送HTTP请求的项目,因为打开几千个项目需要很长时间。当您单击“删除”按钮并迭代相同的请求时,您可以检查发送的 url 请求
  • 如果您熟悉Python,您可以尝试requests lib 发送HTTP 请求以删除循环中的每个项目

标签: selenium automation


【解决方案1】:

这可以使用循环来完成。对于 Java,下面的代码可能会给你一个想法。

    System.setProperty("webdriver.chrome.driver", "F:\\Softwares\\Selenium\\Webdriver\\chromedriver.exe");
    WebDriver driver = new ChromeDriver();
    driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);

    //For example i am taking item number upto 10
    int itemnumbber = 10;
    for(int i = 0;i<=itemnumbber;i++)
    {
        String url = "https://website.com/["+i+"]";
        driver.navigate().to(url);

        //Checks the delete element. If if exists click it
        if(driver.findElements(By.xpath("DELETEXPATH")).size()>0)
        {
            driver.findElement(By.xpath("DELETEXPATH")).click();
        }
    }

根据需求修改itemnumber计数。希望这对您有所帮助。谢谢。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-06-08
    • 1970-01-01
    • 1970-01-01
    • 2013-04-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多