从 CSV 文件搜索页面和 Select 相对定位的单选按钮

Search Page from CSV File and Select Relative Positioned Radio Button

总结

我正在使用 iMacros 从 CSV 文件中提取数据并将数据输入相应的字段(即 用户名、密码、名字、姓氏、电子邮件等。)

页面如下所示:

http://oi58.tinypic.com/2q3uonc.jpg

问题

我的整个问题是从 CSV 文件中获取公司名称的信息,用它来搜索特定文本的页面,然后使用相对定位让宏接下来检查相应的单选按钮到 table 行。 table 是动态的,所以它不会总是相同的。我有一个宏可以将 table 提取到 CSV 文件中,这样我就可以轻松地搜索公司,只需使用 CSV 文件中离线的 POS 编号,以便于单选按钮检查。(提取没有我想要的那么干净,但这本身就是另一个问题。我现在可以手动清理它。提取物中有不需要的空格,使POS信息混乱且不可靠 .)

Note: I can also switch to Excel, I kind of wanted to anyways due to organization and being able to cleanly see what data is being pulled. But I am kind of stuck because of compatibility with Firefox.

问题

简而言之,我的问题是:从 CSV 文件中搜索特定关键字的页面并使用填充相应单选按钮的最佳方法是什么相对位置或类似的东西?

我发现 table 中每一行的 POS 编号与相邻的单选按钮相同。我只是停留在这一点上。我觉得它可能无法在 CSV 或基本 iMacros 功能中完成。我有企业版,所以 excel 和任何编程语言都可以。我还假设需要 javascript 才能完成我需要的事情。但是作为编程新手,我不知道每种语言与另一种语言相比如何交互。

P.S. 如果 可能的话,我想在 firefox 上使用这个宏,该网站与 Internet Explorer 以及 chrome 存在兼容性问题。但我现在正在接受我能得到的任何东西。

到目前为止,这是我的代码:

VERSION BUILD=10022823
TAB T=1
TAB CLOSEALLOTHERS
URL GOTO=
SET !DATASOURCE C:\Users\Blake\Downloads\input.csv
SET !LOOP 1
SET !DATASOURCE_LINE {{!LOOP}}
FRAME NAME=Detail

TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:form1 ATTR=NAME:sUserName CONTENT={{!COL1}}
SET !ENCRYPTION NO
TAG POS=1 TYPE=INPUT:PASSWORD FORM=NAME:form1 ATTR=NAME:sPassword CONTENT=Password1
TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:form1 ATTR=NAME:sNameFirst CONTENT={{!COL3}}
TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:form1 ATTR=NAME:sNameLast CONTENT={{!COL4}}
TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:form1 ATTR=NAME:sEmail CONTENT={{!COL5}}
TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:form1 ATTR=NAME:sPhoneNumber CONTENT={{!COL6}}
TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:form1 ATTR=NAME:sFaxNumber CONTENT={{!COL7}}
TAG POS=1 TYPE=INPUT:CHECKBOX FORM=NAME:form1 ATTR=NAME:bForceUserToChangePassword CONTENT=yes
TAG POS=1 TYPE=INPUT:CHECKBOX FORM=NAME:form1 ATTR=NAME:copyRoles CONTENT=yes

TAG POS=1 TYPE=* ATTR=TXT:{{!COL10}} EXTRACT=TXT
PROMPT {{!EXTRACT}}
TAG POS=R1 TYPE=INPUT:RADIO FORM=NAME:form1 ATTR=NAME:enterpriseOid CONTENT=yes

input.csv 文件

#UserID#,#Password#,#FirstName#,#LastName#,#Email#,#PhoneNumber#,#FaxNumber#,#ForcedPassChange?(ie.yes;no)#,#CopyRoles?(ie.yes;no)#,#Destination Company(ie.MALARKEY ROOFING PRODUCTS (MALHIC))see Table of Companies.csv#
ExampleUser,ExamplePass,ExampleFirstName,ExampleLastName,exampleemail@gmail.com,555-555-5555,555-none-none,no,yes,MALHIC
ExampleUser,ExamplePass,ExampleName,ExampleLastName,exampleemail@gmail.com,555-555-5555,555-none-none,no,yes,MALARKEY

HTML 对于 Table 行

<td class="DetailBodyTableRowEven" style="border-width: 0px 0px 1px; border-style: solid; border-color: white;"> <input name="enterpriseOid" type="RADIO" value="134305050665">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1000 BULBS (100HIC)</td>

由于信息是业务密集型的,我不得不为明显的用户名等编辑图片。但是如果这个问题得到任何行动,将上传一个编辑过的测试页。

感谢您阅读我的一道题!由于问题的性质,我不知道如何更好地总结这一点。

想通了!经过一周的测试不同的代码片段和大量的反复试验后终于!

TAG POS=1 TYPE=TD ATTR=CLASS:DetailBodyTableRowEven&&TXT:*{{!COL10}}* EXTRACT=TXT

现在才问这个问题,我觉得自己像个白痴。不过问题解决了:)