自动将条目添加到Wiki

时间:2020-03-05 18:39:54  来源:igfitidea点击:

获得重命名的文件后,我需要将其添加到我的项目Wiki页面。这是一个相当重复的手动任务,所以我想我可以编写脚本,但不知道从哪里开始。

该过程是:

Got to appropriate page on the wiki

for each team member (DeveloperA, DeveloperB, DeveloperC)
{
    for each of two files ('*_current.jpg', '*_lastweek.jpg')
    {
        Select 'Attach' link on page
        Select the 'manage' link next to the file to be updated
        Click 'Browse' button
        Browse to the relevant file (which has the same name as the previous version)
        Click 'Upload file' button
    }
}

不一定要寻找完整的解决方案,因为我想自己尝试一下。

从哪里开始?我可以使用哪种语言来做到这一点,这会有多困难?

解决方案

回答

如果使用C#编写,则WebClient类可能是一个不错的起点。我敢打赌,如果我们提到我们正在使用哪个Wiki平台,以及它是否需要身份验证,人们可以给出更具体的建议。

我可能首先下载提琴手,然后观察手动执行的http请求。然后,我们可以使用一些简单的脚本和正则表达式来构建用于自动执行该过程的http请求。

当然,如果运气好的话,Wiki将具有足够简单的后端,我们只需将它们直接插入数据库即可。 :)

回答

我们可能会发现CoScripter有用-它是Firefox扩展,允许我们自动执行在网站上执行的任务。我不确定如何将其与我们要在本地系统上更改的文件列表集成在一起,但是它肯定可以处理通过Web表单上传的文件。

更好的选择可能是将cURL或者类似的HTTP库与我们选择的编程语言一起使用。如果我们使用的是* nix,则可以在shell脚本中使用cURL命令行程序来轻松完成此操作。 (就像@jsight所说,我们将需要使用Fiddler或者只是查看表单元素并通过cURL重新创建POST,来分析我们在网页上使用的实际表单。)

回答

检查我们要与之交谈的Wiki是否支持XMLRPC,因为如果这样做,那应该是一件容易的事。我编写了一个名为WikiUp的工具来解决类似的问题(更新Wiki页面上已描绘的部分)。