2013-08-30 17 views
0

我使用的简历服务要求对于简历上列出的每个活动,每周都有一个小时字段和总小时字段。但是,无论多少个星期过去,总时数字段都不会自动更新。我的目标是写一个这样的脚本。网络提交自动化:模拟标题元素上的onclick事件以加载表单

剧本背后的想法是: 登录网站 - >去某个页面 - >提交表单**该网页上更新的总小时数

**不幸的是,表格打开,您需要先点击一个“编辑”标题元素,使其显示出来。我查看了网页的html,但找不到与我希望提交的表单相对应的表单或输入标签,只是表单是根据我认为是来自元素的onclick字段的JavaScript函数调用生成的。 我相信相关的HTML片段是:

<a title="edit" class="edit" href="#entry-type" onclick="editComponent('10227041','education');">Edit</a> 

但万一有一个更大的代码片段后在这个岗位(检查底部的第二个引擎收录链接)

问题:是否有特定的语言/库/方式(最好在python中,尽管我可以使用Java)来模拟onclick事件,并且会导致表单加载?

我已经在这个问题上工作了一下,从Python的机械化库开始。我写了两个函数:

def login(br,url):... 
def navigate(br,baseurl,url):... 

这将满足我的脚本的计划的前两部分,但第三个是麻烦开始的地方。当我使用

for form in br.forms(): 
    print form 

打印页面上的所有形式,我得到http://pastebin.com/Gxy2tc1A

该网站的HTML可以http://pastebin.com/PySri5cb

找到后来我试着用硒(Firefox的IDE插件)和工作然后将代码导出到python中,在那里编辑它以满足我的特定需求,但是由于一些尴尬的错误,这是不行的。

+0

硒是标准的选择。使用它的问题是什么? – smk

+0

@smk如果我想与我的朋友(比如30人)共享这个程序,他们都使用同一个简历服务,他们是不是不得不下载所有的Selenium插件(服务器等)?我试图让脚本下载友好,并且它在后台运行,每周更新总时数。 –

回答

1

你看过GreaseMonkey吗?您应该可以使用它来提取每周的小时数,进行数学计算并填充总小时数字段。你可以做整个事情。任何可以在JavaScript页面上完成的事情都可以在GreaseMonkey中完成。

编辑:该网站的代码是可怕的。我尤其喜欢在它写入的元素(#build-wrap)之前对loadResume()进行内联调用。

+0

该问题不直接与提取数据或涉及的数学(包括时间处理);我已经在Python中实现了这些。这个问题很难用口头描述 - 我编辑了两个截图来更恰当地描述问题。 http://i.imgur.com/E0OBl5l.png –

相关问题