我正在尝试自动化对SAP Webi Reports的几次简单单击。
我的意图很简单:
我将转到http://dbie.rbi.org.in/DBIE/dbie.rbi?site=home并等待页面加载。 [这是作为访客登录DBIE所必需的(印度经济数据库:印度储备银行的数据仓库)]
然后,我将查看BO ID:-
登录后,我将转到:-
http://dbie.rbi.org.in/OpenDocument/opendoc/openDocument.jsp?rbiApp=true&iDocID=7557110&sType=wid&sRefresh=Yes&token=null
[URL上面是一个示例,遵循的格式如下:-
dbie.rbi.org.in/OpenDocument/opendoc/openDocument.jsp?rbiApp=true&iDocID=BO_ID&sType=wid&sRefresh=Yes&token=null]
现在,我将等待加载报告。
之后,我将按左上角的“文档”按钮并将其另存为pdf / xls。
如此屏幕截图所示:-
我想以非交互方式且无需打开浏览器来完成全部操作。就像我想要一些功能一样:-
getBO_in_PDF_Fromat(int BO_ID)
它将在后台完成所有这些工作,并将pdf / xls下载到预定义的文件夹中,或者可以将其作为函数中的另一个参数使用。
我已经尝试过i-Macros并现在学习Selenium。
现在让我们以更为客观的方式进行讨论:
选项A:-
i-Macro脚本:-
SET !ERRORIGNORE YES
CLEAR
TAB CLOSEALLOTHERS
TAB T=1
URL GOTO=http://dbie.rbi.org.in/DBIE/dbie.rbi?site=home
SET !WAITPAGECOMPLETE YES
URL GOTO=http://dbie.rbi.org.in/OpenDocument/opendoc/openDocument.jsp?rbiApp=true&iDocID=7557110&sType=wid&sRefresh=Yes&token=null
FRAME F=2
SET !WAITPAGECOMPLETE YES
'xls download'
ONDOWNLOAD FOLDER=C:\Users\igayen\Documents\DSIM\DMDD\Apps\WSS_Handler\Test\ FILE=7557110.xls WAIT=YES
FRAME F=2
TAG POS=1 TYPE=DIV ATTR=ID:IconImg_iconMenu_arrow_docMenu
SET !WAITPAGECOMPLETE NO
TAG POS=1 TYPE=DIV ATTR=ID:iconMenu_menu_docMenu_item_arrow_saveDocComputerAs
TAG POS=1 TYPE=DIV ATTR=ID:saveDocComputerMenu_item_arrow_saveXLS
ONDIALOG POS=1 BUTTON=NO
URL GOTO=http://dbie.rbi.org.in/DBIE/dbie.rbi?site=home
选项B:-
Chrome Source查看方法:-
现在,如果我可以访问包括生成的JavaScript(例如chrome inspect element)在内的整个源代码,那么我可以轻松完成这项工作。
这是怎么
在下载文件之前,我将转到chrome并执行相同的步骤,然后再执行以下操作:-
我将在源代码中搜索var strEntry =并得到一个数字[该数字在每个会话中都会不同]
然后我的pdf下载链接就会
http:// dbie.rbi.org.in/AnalyticalReporting/viewers/cdz_adv/downloadPDForXLS.jsp?iViewerID=1&sEntry=that_number&iReport=0&sPageMode=QuickDisplay&sReportMode=Viewing&iPage=1&zoom=100&isInteractive=false&iFoldPanel=0&doctype=aved
[示例(请注意,在截取屏幕截图后它将无法正常工作):-http://dbie.rbi.org.in/AnalyticalReporting/viewers/cdz_adv/downloadPDForXLS.jsp?iViewerID=1&sEntry=we0004000048a531178c78&iReport=0&sPageMode=QuickDisplay&sReportMode=Viewing&iPage=1&zoom=100&isInteractive=false&iFoldPanel=0&doctype=wid&viewType=P&saveReport=N]
现在我的问题是如何在不打开真实浏览器的情况下访问这些代码。并只需做一些字符串操作即可搜索字符串并获取编号并相应地获取pdf下载链接?
有没有可能。如果是这样,请告诉我。简单的解决方案将不胜感激。
我现在正在尝试以下方式:-
硒[吸入div选择中]
SAP Webi API [也许是最后的选择]
最佳答案
您可以使用下面列出的测试工具来做到这一点:
Apache JMeter。我曾经用来自动测试我们的BOE平台(登录BOE,单击文件夹,打开文档,刷新文档...)。它记录您的操作,并重复操作。
PhantomJS。无头浏览器,而不是真正的浏览器。您可以编写Javascript在后台运行浏览器,例如人为点击按钮,输入值...
关于javascript - 如何访问网页源代码(包括chrome的CSS和JavaScript)检查元素选项呢?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27357429/