So dejected...Plz help a sad newb out..
Trying to click this button in a site that doesn't allow tab& image recognition doesn't work that well
IEGetTagsByAttrib>IE[0],input,value=1,O,arrTag
0: ARRTAG_1=<input id="first_hidsortnum" type="hidden" value="1">
0: ARRTAG_2=<input name="que_28799_348987" id="que_28799_348987_1" type="radio" value="1">
0: ARRTAG_3=<input name="que_28799_348988" class="check_val" id="que_28799_348988_1" type="radio" value="1">
0: ARRTAG_4=<input name="que_28799_348989" class="check_val" id="que_28799_348989_1" type="radio" value="1">
1. So.. the ARRTAG_1 is not what I'm looking for- I need to click on tags that have both type=radio AND value=1 in it.. but there seems to be no way to have multiple variables take effect in IEGetTagsByAttrib!!
I tried replacing value=1 with -> {type=radio}AND{value=1} /// {type=radio}&{value=1} to no success..
Is there any way to achieve this? or at least narrow the ARRTAG list by searching for type=radio within the ARRTAG list??
2. Welp, after giving up on that I'm trying to separate the id value of each ARRTAG so for example I can do
LET>wantclick="id=que_28799_348988_1
IETagEventByAttrib>IE[0],input,%wantclick%,click,
After all the methods I've tried- this actually works! I would love to do just
IETagEventByAttrib>IE[0],input,value=1,click,
and just have it click everything with value=1 but unfortunately it doesn't seem to work when there's mulitple options present..
So can I extract id or name of these ARRTAGS and arrange them in a separate variables so that I can use it to locate specific tag and click it?
I'm so close to finding answers to my nightmare of trying to find method to click multiple identical buttons on a web site.. PLZ HELP!!!
How to get tags with two specific attribute=value in IEGetTagsByAttrib
Moderators: Dorian (MJT support), JRL
- Dorian (MJT support)
- Automation Wizard
- Posts: 1389
- Joined: Sun Nov 03, 2002 3:19 am
- Contact:
Re: How to get tags with two specific attribute=value in IEGetTagsByAttrib
I hope I'm understanding correctly, but this will click the three "radio" "value=1" radio buttons. I tested this on a local file, so have used a dummy URL. Hopefully it's enough to get you started.
Note that the commands you were using require a URL, not an IE Reference (IE[0]).
Code: Select all
//Create IE and Navigate
IECreate>IE[0]
IENavigate>IE[0],http://test.com/test.htm,res
//Extract tag
IEGetTagsByAttrib>http://test.com/test.htm,input,value=1,O,arrTag
//Loop through each result in array
Let>RadioLoop=0
Repeat>RadioLoop
Let>RadioLoop=RadioLoop+1
//Does it contain value="1" ?
Pos>value="1",arrTag_%RadioLoop%,1,PosOne,
//Does it contain type="radio" ?
Pos>type="radio",arrTag_%RadioLoop%,1,PosRadio,
//If yes to both...
If>{(%PosOne%>0) AND (%PosRadio%>0)}
//Extract the ID (split into multiple lines so it's easier to follow)
let>mystring=arrTag_%RadioLoop%
let>BEGINNING=id="
let>END="
RegEx>(?<=%BEGINNING%).*?(?=%END%),mystring,0,matches,nm,0
//Click the radio button
IETagEventByAttrib>{"http://test.com/test.htm"},INPUT,ID=%matches_1%,click,
Endif
Until>RadioLoop,arrTag_count
Yes, we have a Custom Scripting Service. Message me or go here
Re: How to get tags with two specific attribute=value in IEGetTagsByAttrib
Thank you so much for the quick reply!!!
I'm so thrilled to try out your solution!
Yep- I used url for the actual code!
Belated thank-you but I'm loving using Macro scheduler and it's making my life so much easier now! Sometimes I don't entirely understand it and makes my brain melt.. but I'm learning so much through this forum! I'm gonna try learning Regex next time! Thanks!!!
I'm so thrilled to try out your solution!
Yep- I used url for the actual code!
Belated thank-you but I'm loving using Macro scheduler and it's making my life so much easier now! Sometimes I don't entirely understand it and makes my brain melt.. but I'm learning so much through this forum! I'm gonna try learning Regex next time! Thanks!!!
- Dorian (MJT support)
- Automation Wizard
- Posts: 1389
- Joined: Sun Nov 03, 2002 3:19 am
- Contact:
Re: How to get tags with two specific attribute=value in IEGetTagsByAttrib
To be fair to you, that was probably beyond most beginners.
You'll find a lot of regex examples on this forum, plus there's a couple of free regex courses on Udemy, I think.
You'll find a lot of regex examples on this forum, plus there's a couple of free regex courses on Udemy, I think.
Yes, we have a Custom Scripting Service. Message me or go here
Re: How to get tags with two specific attribute=value in IEGetTagsByAttrib
Very ashamed to be asking for help again.. the finish line is so close yet so far away...
Most of my goal is: clicking multiple identical buttons in an internet site without image recognition
So using your solution - I tried to apply it to other part of my coding as well: most of it worked perfectly
But in this occation nothing is clicking. I suspect the problem is because the only defining feature of returned tags is a thing called href(tagname:"a" Classname: "href") whose value contains multiple "="s inside..
Let me show you what I've done so far
IEGetTagsByAttrib>https://exampleurl.com,dd,class=into,O,arrTag
//'So I guess tags have hierarchy but exists individually? I gathered [dl>dd>a>img] as separate tagnames but only identifying feature: a's href :showed up only when setting tagname as dd'//
///Tags I got ///
0: ARRTAG_1=<dd class="into"><a href="https://exampleurl.com:443/bbs/board.phpbo_table=0101&wr_id=4119&type=1"><img title=""alt="apply" src="/img/new_meditube/signup_on.png"></a></dd>
0: ARRTAG_2=<dd class="into"><a href="https://exampleurl.com:443/bbs/board.php?bo_table=0101&wr_id=4110&type=1"><img alt="apply" src="/img/new_meditube/signup_on.png"></a></dd>
0: ARRTAG_3=<dd class="into"><a href="https://exampleurl.com:443/bbs/board.php?bo_table=0101&wr_id=4118&type=1"><img title="" alt="cancel" src="/img/new_meditube/signup_on.png"></a></dd>
Let>Loop=0
Repeat>Loop
Let>Loop=Loop+1
//Does it contain alt=”apply”
Pos>alt="apply",arrTag_%Loop%,1,PosApply,
//Does it contain class=”into” ?
Pos>class="into",arrTag_%Loop%,1,PosInto,
//If yes to both...
If>{(%PosApply%>0) AND (%PosInto%>0)}
//Extract the href
let>mystring=arrTag_%Loop%
let>BEGINNING=href="
let>END="
RegEx>(?<=%BEGINNING%).*?(?=%END%),mystring,0,matches,nm,0
//Click the button
IETagEventByAttrib>{"https://exampleurl.com"},a,href=%matches_1%,click,
Endif
Until>Loop,arrTag_count
I hope I'm being semi-coherent here.. tried putting "" around %matches_1% to specify that =inside doesn't matter but I don't think it's registering. Your help is always greatly appreciated!!
Most of my goal is: clicking multiple identical buttons in an internet site without image recognition
So using your solution - I tried to apply it to other part of my coding as well: most of it worked perfectly
But in this occation nothing is clicking. I suspect the problem is because the only defining feature of returned tags is a thing called href(tagname:"a" Classname: "href") whose value contains multiple "="s inside..
Let me show you what I've done so far
IEGetTagsByAttrib>https://exampleurl.com,dd,class=into,O,arrTag
//'So I guess tags have hierarchy but exists individually? I gathered [dl>dd>a>img] as separate tagnames but only identifying feature: a's href :showed up only when setting tagname as dd'//
///Tags I got ///
0: ARRTAG_1=<dd class="into"><a href="https://exampleurl.com:443/bbs/board.phpbo_table=0101&wr_id=4119&type=1"><img title=""alt="apply" src="/img/new_meditube/signup_on.png"></a></dd>
0: ARRTAG_2=<dd class="into"><a href="https://exampleurl.com:443/bbs/board.php?bo_table=0101&wr_id=4110&type=1"><img alt="apply" src="/img/new_meditube/signup_on.png"></a></dd>
0: ARRTAG_3=<dd class="into"><a href="https://exampleurl.com:443/bbs/board.php?bo_table=0101&wr_id=4118&type=1"><img title="" alt="cancel" src="/img/new_meditube/signup_on.png"></a></dd>
Let>Loop=0
Repeat>Loop
Let>Loop=Loop+1
//Does it contain alt=”apply”
Pos>alt="apply",arrTag_%Loop%,1,PosApply,
//Does it contain class=”into” ?
Pos>class="into",arrTag_%Loop%,1,PosInto,
//If yes to both...
If>{(%PosApply%>0) AND (%PosInto%>0)}
//Extract the href
let>mystring=arrTag_%Loop%
let>BEGINNING=href="
let>END="
RegEx>(?<=%BEGINNING%).*?(?=%END%),mystring,0,matches,nm,0
//Click the button
IETagEventByAttrib>{"https://exampleurl.com"},a,href=%matches_1%,click,
Endif
Until>Loop,arrTag_count
I hope I'm being semi-coherent here.. tried putting "" around %matches_1% to specify that =inside doesn't matter but I don't think it's registering. Your help is always greatly appreciated!!
- Dorian (MJT support)
- Automation Wizard
- Posts: 1389
- Joined: Sun Nov 03, 2002 3:19 am
- Contact:
Re: How to get tags with two specific attribute=value in IEGetTagsByAttrib
The issue seemed to be the :443 and the amp; in the hyperlink. It was in the html but not in the rendered version displayed in the browser. Remove those, and it clicks.
So :
Code: Select all
stringreplace>oldstring,:ReplaceThis,WithThat,newstring
stringreplace>%matches_1%,:443,,matches_1
stringreplace>%matches_1%,amp;,,matches_1
Code: Select all
IECreate>IE[0]
IENavigate>IE[0],d:\test.htm,
IEGetTagsByAttrib>test,dd,class=into,O,arrTag
Let>Loop=0
Repeat>Loop
Let>Loop=Loop+1
//Does it contain alt=”apply”
Pos>alt="apply",arrTag_%Loop%,1,PosApply,
//Does it contain class=”into” ?
Pos>class="into",arrTag_%Loop%,1,PosInto,
//If yes to both...
If>{(%PosApply%>0) AND (%PosInto%>0)}
//Extract the href
let>mystring=arrTag_%Loop%
let>BEGINNING=href="
let>END="
RegEx>(?<=%BEGINNING%).*?(?=%END%),mystring,0,matches,nm,0
//Click the button
stringreplace>%matches_1%,:443,,matches_1
stringreplace>%matches_1%,amp;,,matches_1
IETagEventByAttrib>test,a,href=%matches_1%,click,
Endif
Until>Loop,arrTag_count
Yes, we have a Custom Scripting Service. Message me or go here
Re: How to get tags with two specific attribute=value in IEGetTagsByAttrib
Stringreplace! Never thought of those!!
Thank you for helping out!
Thank you for helping out!