【问题标题】:UIPath Data Scraping - Scrape element namesUIPath 数据抓取 - 抓取元素名称
【发布时间】:2020-01-23 06:16:53
【问题描述】:

我正在尝试从这个网站上搜索音乐会推荐。我可以很容易地让 UIPath 刮取音乐会的名称(1)、地点(2)和日期(3)(图 1),但不能刮取他们的分数(4)。

我可以从星元素的名称中看出它们是“开”还是“关”。我想使用该信息让excel稍后计算分数。

但是,当我尝试抓取星星时,UIPath 返回空列。我想那是因为它在这些元素中找不到任何文本,这完全有道理。但是我可以让 UIPath 返回第 4、5、6 列等中星形元素的名称吗?

网站链接:http://soundvenue.com/musik/anmeldelser

提前谢谢你:)

【问题讨论】:

    标签: html web-scraping rpa uipath


    【解决方案1】:

    与 RPA 中的许多情况一样,有几种可能的解决方案。您可以遍历每个单独的项目并检查“on”星的数量,但如果您想使用提取向导,在提取之前而不是之后修改网站上的数据可能更容易。

    我会尝试 injecting a JavaScript 将文本附加到这些星号,这将使 RPA 提取更容易。

    类似这样的:

    // Get an array of all star containers (span elements with "post-stars" class)
    var ratings = $$("span.post-stars");
    
    // Loop through them
    for (i = 0; i < ratings.length; i++) {
        // Get a number of all stars that are "on"
        var starCount = ratings[i].getElementsByClassName("star-on").length;
    
        // Create a new text node with the star value
        var text = document.createTextNode(starCount);
    
        // Append the text to the star container
        ratings[i].appendChild(text);
    }
    

    然后网站将如下所示:

    【讨论】:

    • 非常感谢您的回复。我对此很陌生,并且没有任何Java技能。希望有一种更“用户友好”的方式:D
    • 我想不出一种方法,您不必手动检查每颗星的每一端的值,一个接一个...我不会称之为非常用户友好的。您可以提取 HTML 并使用正则表达式,但这也是您可能不想听到的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-09-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-28
    • 1970-01-01
    相关资源
    最近更新 更多