我需要自动化一个网站,但它需要在python中无头。 我可以使用iMacros在该网站上做我需要做的事情,但iMacros不灵活。 我试图了解iMacros做了什么,并通过Selenium,Mechanize等进行复制。 然而,我发现的所有内容都无法通过javascript事件。
这是iMacros中的登录部分:
URL GOTO=http://xxx.xxx.xxx.xxx/
FRAME NAME="main"
TAG POS=1 TYPE=INPUT:TEXT FORM=ACTION:j_security_check ATTR=ID:login-user CONTENT=myusername
SET !ENCRYPTION NO
TAG POS=1 TYPE=INPUT:PASSWORD FORM=ACTION:j_security_check ATTR=ID:login-password CONTENT=mypassword
TAG POS=1 TYPE=BUTTON FORM=ACTION:j_security_check ATTR=TXT:Login
我试图理解这一步,经过几次测试后我发现urllib正在工作:
#Step 1): Login Process
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor)
urllib2.install_opener(opener)
urllib2.urlopen(main+welcome)
urllib2.urlopen(main+jsecurity,
data=urllib.urlencode({'j_username':'myusername','j_password':'mypassword'}))
所以登录工作,下一部分是我被卡住的地方(iMacros再次):
FRAME NAME="main"
TAG POS=1 TYPE=A ATTR=ID:menu-ES1
TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:ManageEventForm ATTR=ID:ES1_itemA CONTENT=000000
TAG POS=1 TYPE=INPUT:SUBMIT FORM=NAME:ManageEventForm ATTR=NAME:tab-idmain-settab-event.tabs.main;dispatch.setScopeEvent
TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:ManageEventForm ATTR=ID:ES1_eventBuilder CONTENT=TEST
TAG POS=1 TYPE=INPUT:SUBMIT FORM=NAME:ManageEventForm ATTR=NAME:tab-idmain-settab-event.tabs.main;dispatch.setScopeEvent
TAG POS=1 TYPE=A ATTR=TXT:TEST
TAG POS=1 TYPE=TEXTAREA FORM=NAME:ManageEventForm ATTR=ID:ES1_remarks CONTENT=<SP>TEST
TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:ManageEventForm ATTR=ID:ES1_callbackRemark CONTENT=<SP>TEST
TAG POS=1 TYPE=INPUT:SUBMIT FORM=NAME:ManageEventForm ATTR=NAME:tab-idmain-settab-event.tabs.more;dispatch.setScopeEvent
TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:ManageEventForm ATTR=ID:ES1_reportingUserTelephone CONTENT=TEST
TAG POS=1 TYPE=INPUT:BUTTON FORM=NAME:ManageEventForm ATTR=NAME:LogEvent
我根本不知道如何复制imacros在这里所做的以及从这里开始的地方...... 它基本上是需要信息的4种形式,然后是LogEvent(提交按钮)。
有没有人有关于如何在这里进行的想法?我是编程的新手我很抱歉,如果我的问题是“nooby”,但我在谷歌上花了3个星期来了解机械化,硒,imacros(我想以某种方式工作)等等......
我感谢任何帮助