我使用的简历服务要求对于简历中列出的每个活动,都有一个每周小时数字段和总小时数字段。但是,无论经过多少周,总小时数字段都不会自动更新。我的目标是编写一个执行此操作的脚本。
脚本背后的想法是:登录网站 -> 转到某个页面 -> 在该页面上提交表单** 更新总小时数
**不幸的是,要打开表单,您需要先单击“编辑”标题元素才能显示它。我查看了网页的 html,但找不到与我希望提交的表单相对应的表单或输入标签,只是表单是使用我认为来自元素的 onclick 字段的 javascript 函数调用生成的。我相信相关的html片段是:
<a title="edit" class="edit" href="#entry-type" onclick="editComponent('10227041','education');">Edit</a>
但以防万一这篇文章后面有更大的代码片段(检查底部的第二个 pastebin 链接)
问题:是否有特定的语言/库/方式(最好在 python 中,虽然我可以使用 Java)来模拟 onclick 事件并导致表单加载?
我已经解决了这个问题,从 python 的 mechanize 库开始。我写了两个函数,
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上找到
后来我尝试使用 Selenium(firefox IDE 插件),然后将代码导出到 python 中,在那里我将对其进行编辑以满足我的特定需求,但由于一些尴尬的错误,这是不行的。