Jump to content
AJB

IE: Trigger event on _IEFormElementOptionSelect to display hidden div.

Recommended Posts

Hello, and thank you for your input. I've been searching around to try to find out how to trigger a change when selecting an option from a dropdown using _IEFormElementOptionSelect, but haven't found anything in the forums or via google.

Here is my sample code:

;Select the lead type
$LeadType = _IEGetObjByName($oIE, "data[leads_types]")
$LeadType.focus
_IEFormElementOptionSelect($LeadType, "Expired", 1, "byText")

This works to select the value, but it doesn't trigger a date range div that is set with display:none. When done manually there is an event trigger where jquery changes the display setting.

The HTML for the dropdown:

<select name="data[leads_types]" class="selectbox leadselectbox" style="width:140px;" id="lead_options">
<option value="">Lead Type</option>
<optgroup label="Leads">
<option value="1">Divorce</option>
<option value="27">Empty Nesters</option>
<option value="24">Estate Sales</option>
<option value="18">Evictions</option>
<option value="2">Expired</option>
</optgroup>
<optgroup label="CRM">
<option value="11">Cold Lead</option>
<option value="20">Dead</option>
<option value="13">Follow Up Lead</option>
<option value="12">Hot Lead</option>
</optgroup>
</select>

The Html for the div that gets displayed:

<div id="date_selection" style="display: none;float: left;margin-left: 5px; width:390px; ">
      <div style="float: left;font-size:15px">       
        From: <input class="inputTxt3 dtpicker hasDatepicker" style="width:80px;" size="25" name="offer_from_date" id="offer_from_date" value="08/26/2015" type="text"> 
        To: <input class="inputTxt3 dtpicker hasDatepicker" style="width:80px;" size="25" name="offer_to_date" id="offer_to_date" value="09/10/2015" type="text">
     </div>   
     <div style="display: block; float: left;margin-left: 5px;font-size:13px" id="searchTypeDiv">
        <span title="Search for Recorded or Filed Dates">Record Date</span> <input type="radio" name="searchDateType" value="r">
        <br>
        <span title="Search for the date RG found the record">Insert Date&nbsp;&nbsp;</span> <input type="radio" name="searchDateType" value="i" checked="">
    </div>
</div>

I've tried changing the values when it isn't displayed, but that doesn't work. I need to find out how to trigger that event. Can someone point me in the right direction?


Thanks.

Share this post


Link to post
Share on other sites

There's likely some Javascript code that you will need to execute in order for the div block to become visible. Can you provide the link to the website? If not, then you will need to examine the web page's underlying code to try to find the exact Javascript function to call.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By SkysLastChance
      I am pretty sure the site that I am using was updated and now I am not seeing the same tags/elements that I used to. I tried using a UIAspy to see if I could grab them that way with no luck. 
      What do I need to do to be able to automate this again. Are the elements hidden somewhere?
      Instead of highlighting established account is highlights all of the web page almost. How can I get to the detail again? 
      I used to grab establish account by the name. Now I have nothing to even try to grab. 
      There are not elements in the event viewer either. 
       


       
      This is what happens when I try to inspect the element and click established account. 
      I get the same type of results in chrome
    • By Lefiya
      If NOT $abb = 0 THe MSGBOX(0,0,'test') FileChangeDir(@ScriptDir) #NoTrayIcon #RequireAdmin #Region ;**** Directives created by AutoIt3Wrapper_GUI **** #AutoIt3Wrapper_Version=Beta #AutoIt3Wrapper_Icon=C:\Program Files (x86)\AutoIt3\Aut2Exe\Icons\icon.ico #AutoIt3Wrapper_Compression=4 #AutoIt3Wrapper_Res_Comment=三益釀造-客戶資料管理系統 #AutoIt3Wrapper_Res_Description=三益釀造-客戶資料管理系統 #AutoIt3Wrapper_Res_Fileversion=1.0.0.0 #AutoIt3Wrapper_Res_Fileversion_AutoIncrement=y #AutoIt3Wrapper_Res_LegalCopyright=Copyright © 2008-2017 sanyi.com.tw 版權所有。保留一切權利。 #AutoIt3Wrapper_Res_Language=1028 #AutoIt3Wrapper_Res_requestedExecutionLevel=highestAvailable #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****  
      好的代碼:
      #include <Date.au3> 昏暗的$ code ='' $ code&='“use strict”; var sjcl = {cipher:{},hash:{},keyexchange:{},mode:{},misc:{},codec:{},exception:{corrupt:function (a){this.toString = function(){return“CORRUPT:”+ this.message}; this.message = a},invalid:function(a){this.toString = function(){return“INVALID:” + this.message}; this.message = a},bug:function(a){this.toString = function(){return“BUG:”+ this.message}; this.message = a},notReady:function( a){this.toString = function(){return“NOT READY:”+ this.message}; this.message = a}}};' $ code&='“undefined”!= typeof module && module.exports &&(module.exports = sjcl);' $ code&='sjcl.bitArray = {bitSlice:function(a,b,c){a = sjcl.bitArray.g(a.slice(b / 32),32-(b&31))。slice(1); return void 0 === c?a:sjcl.bitArray.clamp(a,cb)},extract:function(a,b,c){var d = Math.floor(-bc&31); return((b + c) -1 ^ b) - 32 [b / 32 | 0] << 32-d ^ A [b / 32 + 1 | 0] >>> d:一個並[b / 32 | 0] >>> d? )&(1 << c)-1},concat:function(a,b){if(0 === a.length || 0 === b.length)返回a.concat(b); var c = a [a.length-1],d = sjcl.bitArray.getPartial(c);返回32 === d?a.concat(b):sjcl.bitArray.g(b,d,c | 0,a .slice(0,a.length-1))},bitLength:function(a){var b = a.length; return 0 ===' $ code&='b?0:32 *(b-1)+ sjcl.bitArray.getPartial(a [b-1])},clamp:function(a,b){if(32 * a.length <b )返回a; a = a.slice(0,Math.ceil(b / 32)); var c = a.length; b&= 31; 0 <c && b &&(a [c-1] = sjcl.bitArray.partial( b,a [c-1]&2147483648 >> b-1,1));返回a},partial:function(a,b,c){return 32 === a?b:(c?b | 0: b << 32-a)+ 0x10000000000 * a},getPartial:function(a){return Math.round(a / 0x10000000000)|| 32},equal:function(a,b){if(sjcl.bitArray.bitLength) (a)!== sjcl.bitArray.bitLength(b))return!1; var c = 0,d; for(d = 0; d <a.length; d ++)c | = a [d] ^ b [ d];返回0 ===' $ code&='c},g:function(a,b,c,d){var e; e = 0; for(void 0 === d &&(d = []); 32 <= b; b- = 32)d.push(c),c = 0; if(0 === b)返回d.concat(a); for(e = 0; e <a.length; e ++)d.push(c |一個並[e] >>> b),C = A [E] << 32-b; E =則為a.length一個[則為a.length-1]:0; A = sjcl.bitArray.getPartial(E); d.push(sjcl.bitArray.partial(b + a&31,32 <b + a?c:d.pop(),1)); return d},j:function(a,b){return [a [0 ] ^ b [0],A [1] ^ b [1],A [2] ^ b [2],[3] ^ b [3]]}};' $ code&='sjcl.codec.base32 = {e:“ABCDEFGHIJKLMNOPQRSTUVWXYZ234567”,fromBits:function(a,b){var c =“”,d,e = 0,g = sjcl.codec.base32.e,f = 0,K = sjcl.bitArray.bitLength(A);對於(d = 0; 5 * c.length <K)C + = g.charAt((F ^ A [d] >>> E)>>> ?27),5> E(F = A [d] << 5-E,E + = 27,d ++):(˚F<< = 5,E-= 5);對於(;!c.length&5 && b;) c + =“=”;返回c},toBits:function(a){a = a.replace(/ \ s | = / g,“”)。toUpperCase(); var b = [],c,d = 0 ,E = sjcl.codec.base32.e,G = 0,F;對於(C = 0;ç<則為a.length; C ++){F = e.indexOf(a.charAt(c)中);如果(0> f)拋出新的sjcl.exception.invalid(“這不是base32!”); 27 <d?(d- =' $ code&='27,b.push(g ^ f >>> d),g = f << 32-d):( d + = 5,g ^ = f << 32-d)} d&56 && b.push( sjcl.bitArray.partial(d&56,g,1)); return b}}; sjcl.hash.sha1 = function(a){a?(this.d = adslice(0),this.b = abslice(0) ,this.a = aa):this.reset()}; sjcl.hash.sha1.hash = function(a){return(new sjcl.hash.sha1).update(a).finalize()};' $ code&='sjcl.hash.sha1.prototype = {blockSize:512,reset:function(){this.d = this.h.slice(0); this.b = []; this.a = 0; return this},update:function(a){“string”=== typeof a &&(a = sjcl.codec.utf8String.toBits(a)); var b,c = this.b = sjcl.bitArray.concat(this .B,A); b = this.a; A = this.a = b + sjcl.bitArray.bitLength(A);對於(b = this.blockSize + b&-this.blockSize,b <= A; b + = this.blockSize)n(this,c.splice(0,16)); return this},finalize:function(){var a,b = this.b,c = this.d,b = sjcl.bitArray.concat (b,[sjcl.bitArray.partial(1,1)]);用於:(a = b.length個+ 2; A&15; ++)b.push(0);' $ code&='b.push(Math.floor(this.a / 0x100000000)); for(b.push(this.a | 0); b.length;)n(this,b.splice(0,16) )); this.reset(); return c},h:[1732584193,4023233417,2562383102,271733878,3285377520],i:[1518500249,1859775393,2400959708,3395469782]};' $ code&='function n(a,b){var c,d,e,g,f,k,m,l = b.slice(0),h = ad; e = h [0]; g = H [1]; F = H [2]; K為H [3]; M = H [4];對於(C = 0; 79> = C; C ++)16 <= C &&(升[C] =(升[C-3] ^ L [C-8] ^升並[c-14] ^升並[c-16])<< 1 |(L [C-3] ^ L [C-8] ^升並[c -14] ^升並[c-16])>>> 31),d = 19> = C G&F |〜克&K:39> = C G ^ F ^ K:?59> = C G&F | G&K | F&K :79> = c?g ^ f ^ k:void 0,d =(e << 5 | e >>> 27)+ d + m + l [c] + ai [Math.floor(c / 20)] | 0,M = K,K = F,F = G << 30 | G 2 >>>,G = E,E = d; H [0] = H [0] + E | 0; H [1] = H [1] + G | 0; H [2] = H [2] + F | 0; H [3] = H [3] + K | 0; H [4] = H [4] + M | 0}“ $ code&='sjcl.misc.hmac = function(a,b){this.f = b = b || sjcl.hash.sha256; var c = [[],[]],d,e = b。 prototype.blockSize / 32; this.c = [new b,new b]; a.length> e &&(a = b.hash(a)); for(d = 0; d <e; d ++)c [0] [d] = A [d] ^ 909522486,C [1] [d] = A [d] ^ 1549556828; this.c [0] .update(C [0]); this.c [1] .update( c [1])}; sjcl.misc.hmac.prototype.encrypt = sjcl.misc.hmac.prototype.mac = function(a){a =(new this.f(this.c [0]))。update (a).finalize(); return(new this.f(this.c [1]))。update(a).finalize()};' $ code&='function HOTP(K,C)' $ code&='{' $ code&='var key = sjcl.codec.base32.toBits(K);' $ code&='var count = [((C&0xffffffff00000000)>> 32),C&0xffffffff];' $ code&='var otplength = 6;' $ code&='var hmacsha1 = new sjcl.misc.hmac(key,sjcl.hash.sha1);' $ code&='var code = hmacsha1.encrypt(count);' $ code&='var offset = sjcl.bitArray.extract(code,152,8)&0x0f;' $ code&='var startBits = offset * 8;' $ code&='var endBits = startBits + 4 * 8;' $ code&='var slice = sjcl.bitArray.bitSlice(code,startBits,endBits);' $ code&='var dbc1 = slice [0];' $ code&='var dbc2 = dbc1&0x7fffffff;' $ code&='var otp = dbc2%Math.pow(10,otplength);' $ code&='var result = otp.toString();' $ code&='while(result.length <otplength)' $ code&='{' $ code&=“result ='0'+結果;” $ code&='}' $ code&='返回結果;' $ code&='}' 昏暗$ K ='LFLFMU2SGVCUIUCZKBMEKRKLIQ' Dim $ unixTime = _GetUnixTimeUTC() Dim $ counter = Int($ unixTime)/ 30 昏暗$ C =樓層($ counter) $ nJS = ObjCreate(“MSScriptControl.ScriptControl”) $ nJS.language =“JavaScript” $ nJS.addcode($代碼) $ nRegCreatePng = $ nJS.eval('HOTP(“'&$ K&'”,“'&$ C&'”)') MSGBOX(0,0,$ nRegCreatePng) Func _GetUnixTimeUTC() ; 返回自EPOCH以來的UTC秒數 本地$ aSysTimeInfo = _Date_Time_GetTimeZoneInformation() 本地$ utcTime =“” 本地$ sDate = _NowCalc() 如果$ aSysTimeInfo [0] = 2那麼 $ utcTime = _DateAdd('n',$ aSysTimeInfo [1] + $ aSysTimeInfo [7],$ sDate) 其他 $ utcTime = _DateAdd('n',$ aSysTimeInfo [1],$ sDate) 萬一 返回_DateDiff('s',“1970/01/01 00:00:00”,$ utcTime) ENDFUNC  
      ===============================================
      你好,
      我怎樣才能在au3中使用這個js來創建totp?(沒有HTML,沒有hotp)
      我嘗試使用JS但錯誤...
      非常感謝〜
      ---------------
      JavaScript的創建TOTP
      sjcl.js
      “嚴格使用”; var sjcl = {cipher:{},hash:{},keyexchange:{},mode:{},misc:{},codec:{},exception:{corrupt:function(a){this .toString = function( ){return“CORRUPT:”+ this.message}; this.message = a},invalid:function(a){this.toString = function(){return“INVALID:”+ this.message}; this.message = a},bug:function(a){this.toString = function(){return“BUG:”+ this.message}; this.message = a},notReady:function(a){this。toString = function(){return“NOT READY:”+ this.message}; this.message = a}}}; “undefined”!= typeof module && module.exports &&(module.exports = sjcl); sjcl.bitArray = {bitSlice:function(a,b,c){a = sjcl.bitArray.g(a.slice(b / 32),32-(b&31))。slice(1); return void 0 == = c?a:sjcl.bitArray.clamp(a,cb)},extract:function(a,b,c){var d = Math.floor(-bc&31); return((b + c-1 ^ b) &-32一個並[b / 32 | 0] << 32-d ^ A [b / 32 + 1 | 0] >>> d:一個並[b / 32 | 0] >>> d)&(1 < <c)-1},concat:function(a,b){if(0 === a.length || 0 === b.length)返回a.concat(b); var c = a [a。 length-1],d = sjcl.bitArray.getPartial(c); return 32 === d?a.concat(b):sjcl.bitArray.g(b,d,c | 0,a.slice(0, a.length-1))},bitLength:function(a){var b = a.length; return 0 === b?0:32 *(b-1)+ sjcl.bitArray.getPartial(a [b-1])},clamp:function(a,b){if(32 * a.length <b)返回a; a = a.slice(0,Math.ceil(b / 32)); var c = a.length; b&= 31; 0 <c && b &&(a [c-1] = sjcl.bitArray.partial(b,a [c -1]&2147483648 >> b-1,1));返回a},partial:function(a,b,c){return 32 === a?b:(c?b | 0:b << 32- a)+ 0x10000000000 * a},getPartial:function(a){return Math.round(a / 0x10000000000)|| 32},等於:function(a,b){if(sjcl.bitArray.bitLength(a)!= = sjcl.bitArray.bitLength(b))return!1; var c = 0,d; for(d = 0; d <a.length; d ++)c | = a [d] ^ b [d];返回0 === c},g:函數(a,b,c,d){var e; e = 0; for(void 0 === d &&(d = []); 32 <= b; b- = 32)d。 push(c),c = 0; if(0 === b)返回d.concat(a); for(e = 0; e <a.length; e ++)d.push(c | a [e]> >> b),C = A [E] << 32-b; E =則為a.length一個[則為a.length-1]:0; A = sjcl.bitArray.getPartial(E); d.push(sjcl .bitArray.partial(b + a&31,32 <b + a?c:d.pop(),1)); return d},j:function(a,b){return [a [0] ^ b [0 ],A [1] ^ b [1],A [2] ^ b [2],[3] ^ b [3]]}}; sjcl.codec.base32 = {e:“ABCDEFGHIJKLMNOPQRSTUVWXYZ234567”,fromBits:function(a,b){var c =“”,d,e = 0,g = sjcl.codec.base32.e,f = 0,k = sjcl.bitArray.bitLength(A);對於(d = 0; 5 * c.length <K)C + = g.charAt((F ^ A [d] >>> E)>>> 27),5> ΔE(F = A [d] << 5-E,E + = 27,d ++):(˚F<< = 5,E-= 5);對於(; c.length&5 && b;!)C + =“=” ; return c},toBits:function(a){a = a.replace(/ \ s | = / g,“”)。toUpperCase(); var b = [],c,d = 0,e = sjcl。 codec.base32.e,g = 0,f; for(c = 0; c <a.length; c ++){f = e.indexOf(a.charAt(c)); if(0> f)拋出新的sjcl .exception.invalid(“這不是base32!”); 27 <d?(d- = 27,b.push(克^ F >>> d)中,g = F << 32-d):( d + = 5,G ^ = F << 32-d)} d&56 && b.push(sjcl.bitArray.partial (d&56,g,1)); return b}}; sjcl.hash.sha1 = function(a){a?(this.d = adslice(0),this.b = abslice(0),this.a = aa):this.reset()}; sjcl.hash.sha1.hash = function(a){return(new sjcl.hash.sha1).update(a).finalize()}; sjcl.hash.sha1.prototype = {blockSize:512,reset:function(){this.d = this.h.slice(0); this.b = []; this.a = 0; return this},update :function(a){“string”=== typeof a &&(a = sjcl.codec.utf8String.toBits(a)); var b,c = this.b = sjcl.bitArray.concat(this.b,a) ; b = this.a; A = this.a = b + sjcl.bitArray.bitLength(A);對於(b = this.blockSize + b&-this.blockSize,b <= A; b + = this.blockSize)N (this,c.splice(0,16)); return this},finalize:function(){var a,b = this.b,c = this.d,b = sjcl.bitArray.concat(b,[sjcl .bitArray.partial(1,1)]);用於:(a = b.length個+ 2; A&15; ++)b.push(0); b.push(Math.floor(this.a / 0x100000000));對於(b.push(this.a | 0); b.length個;)N(此,b.splice(0,16));此。 reset(); return c},h:[1732584193,4023233417,2562383102,271733878,3285377520],i:[1518500249,1859775393,2400959708,3395469782]}; 函數n(a,b){var c,d,e,g,f,k,m,l = b.slice(0),h = ad; e = h [0]; g = h [1]; F = H [2]; K為H [3]; M = H [4];對於(C = 0; 79> = C; C ++)16 <= C &&(升並[c] =(L [C-3 ] ^ L [C-8] ^升並[c-14] ^升並[c-16])<< 1 |(L [C-3] ^ L [C-8] ^升並[c-14] ^升[C-16])>>> 31),d = 19> = C G&F |〜克&K:39> = C G ^ F ^ K:59> = C G&F | G&K | F&K:?79> = C ?g ^ f ^ k:void 0,d =(e << 5 | e >>> 27)+ d + m + l [c] + ai [Math.floor(c / 20)] | 0,m = K,K = F,F = G << 30 | G 2 >>>,G = E,E = d; H [0] = H [0] + E | 0; H [1] = H [1] + G | 0; H [2] = H [2] + F | 0; H [3] = H [3] + K | 0; H [4] = H [4] + M | 0} sjcl.misc.hmac = function(a,b){this.f = b = b || sjcl.hash.sha256; var c = [[],[]],d,e = b.prototype.blockSize / 32 ; this.c = [new b,new b]; a.length> e &&(a = b.hash(a)); for(d = 0; d <e; d ++)c [0] [d] = a [d] ^ 909522486,C [1] [d] = A [d] ^ 1549556828; this.c [0] .update(C [0]); this.c [1] .update(C [1]) sjcl.misc.hmac.prototype.encrypt = sjcl.misc.hmac.prototype.mac = function(a){a =(new this.f(this.c [0]))。update(a).finalize (); return(new this.f(this.c [1]))。update(a).finalize()}; totp.js
      (功能() { “嚴格使用”; / *全局文檔,sjcl * / 功能HOTP(K,C) { var key = sjcl.codec.base32.toBits(K); // Count是64位長。請注意JavaScript按位操作 //在這種情況下,MSB實際上是0。 var count = [((C&0xffffffff00000000)>> 32),C&0xffffffff]; var otplength = 6; var hmacsha1 = new sjcl.misc.hmac(key, sjcl.hash.sha1); var code = hmacsha1.encrypt(count); var offset = sjcl.bitArray.extract(code, 152, 8) & 0x0f; var startBits = offset * 8; var endBits = startBits + 4 * 8; var slice = sjcl.bitArray.bitSlice(code, startBits, endBits); var dbc1 = slice[0]; var dbc2 = dbc1 & 0x7fffffff; var otp = dbc2 % Math.pow(10, otplength); var result = otp.toString(); while (result.length < otplength) { result = '0' + result; } return result; } // // UI Functions // function GenerateHOTP() { var secret = document.getElementById('secret').value; var counterEl = document.getElementById('hotpcounter'); var counter = parseInt(counterEl.value, 10); var otp = HOTP(secret, counter); var passwordEl = document.getElementById('hotpresult'); while (passwordEl.hasChildNodes()) { passwordEl.removeChild(passwordEl.firstChild); } passwordEl.textContent = "HOTP: " + otp; counterEl.value = counter + 1; } function GenerateTOTP() { var secret = document.getElementById('secret').value; var ctime = Math.floor((new Date() - 0) / 30000); var counterEl = document.getElementById('totpcounter'); counterEl.value = ctime; var otp = HOTP(secret, ctime); var passwordEl = document.getElementById('totpresult'); while (passwordEl.hasChildNodes()) { passwordEl.removeChild(passwordEl.firstChild); } passwordEl.textContent = "TOTP: " + otp; } function ConfigureHandlers() { var el = document.getElementById('generateotp'); el.addEventListener('click', GenerateHOTP, false); setInterval(GenerateTOTP, 1000); GenerateHOTP(); GenerateTOTP(); } document.addEventListener('DOMContentLoaded', ConfigureHandlers, false); } )(); index.html
      <!DOCTYPE html> <html manifest="hotp.appcache"> <head> <meta charset="UTF-8"/> <title>HOTP/TOTP Demonstration</title> <script src="sjcl.js"></script> <script src="totp.js"></script> <style> label { display: inline-block; min-width: 12em; } input { min-width: 30em !important; } .hotpresult:before { content: "HOTP: "; } .totpresult:before { content: "TOTP: "; } </style> </head> <body> <form id="otpinputs"> <label for="secret">Secret (Base32)</label> <input id="secret" type="text" value="LFLFMU2SGVCUIUCZKBMEKRKLIQ"/> <br /> <label for="hotpcounter">HOTP Counter (next value)</label> <input id="hotpcounter" type="text" value="0"/> <br /> <label for="totpcounter">TOTP Counter</label> <input id="totpcounter" type="text" value=""/> </form> <button id="generateotp">Generate HOTP</button> <div id="hotpresult"> </div> <div id="totpresult"> </div> </body> </html>  
      --------------------
      my try code1:
      $nJS.addcode($code)
      $nJS^ ERROR
      MsgBox(0,0,Totp_JS('LFLFMU2SGVCUIUCZKBMEKRKLIQ')) Func Totp_JS($Key) Local $code $code &= '(function()' & @CRLF $code &= '{' & @CRLF $code &= '"use strict";' & @CRLF $code &= 'function GenerateTOTP()' & @CRLF $code &= '{' & @CRLF $code &= "var secret =" & $Key & ";" & @CRLF $code &= 'var ctime = Math.floor((new Date() - 0) / 30000);' & @CRLF $code &= "var counterEl = document.getElementById('totpcounter');" & @CRLF $code &= 'counterEl.value = ctime;' & @CRLF $code &= 'var otp = HOTP(secret, ctime);' & @CRLF $code &= "var passwordEl = document.getElementById('totpresult');" & @CRLF $code &= 'while (passwordEl.hasChildNodes())' & @CRLF $code &= '{' & @CRLF $code &= 'passwordEl.removeChild(passwordEl.firstChild);' & @CRLF $code &= '}' & @CRLF $code &= 'passwordEl.textContent = "TOTP: " + otp;' & @CRLF $code &= '}' & @CRLF $code &= 'function ConfigureHandlers()' & @CRLF $code &= '{' & @CRLF $code &= "var el = document.getElementById('generateotp');" & @CRLF $code &= "el.addEventListener('click', GenerateHOTP, false);" & @CRLF $code &= 'setInterval(GenerateTOTP, 1000);' & @CRLF $code &= 'GenerateTOTP();' & @CRLF $code &= '}' & @CRLF $code &= "document.addEventListener('DOMContentLoaded', ConfigureHandlers, false);" & @CRLF $code &= '}' & @CRLF $code &= ')();' & @CRLF $nJS = ObjCreate("ScriptControl") $nJS.language = "JavaScript" $nJS.addcode($code) $nTotp_JS = $nJS.Run("GenerateTOTP") Return $nTotp_JS EndFunc my try code2:
      $nJS.addcode($code)
      $nJS^ ERROR
      #include <Date.au3> Func js() Local $code ;;TOTP(K,C) ;;K = Key ;;C = (T - T0) / X ;;T = Unix ;; T0 = 0 ;; X = 30(秒) $ T = _DateDiff('s',“1970/01/01 08:00:00”,_ NowCalc()) $ X = 30 $ K ='LFLFMU2SGVCUIUCZKBMEKRKLIQ“ $ C = $ T / $ X. $ code = FileRead(“totp.js”) $ nJS = ObjCreate(“MSScriptControl.ScriptControl”) $ nJS.language =“JavaScript” $ nJS.addcode($代碼) $ nReg = $ nJS.eval('function HOTP(“'&$ K&'”,“'&$ C&'”)') 返回$ nReg ENDFUNC; ==> js MSGBOX(0,0,JS())  
    • By wysocki
      I have a smartphone and I use it to access my email. However, when composing an email on it I have a problem. My list of phone contacts on the phone is very different from my list of email contacts in my Thunderbird desktop app.  I use my Gmail address book to store primarily phone contacts, and I use Thunderbird for my list of email contacts. I wanted a way to get my Thunderbird contact list onto my smartphone to be able to compose emails to addresses in that list. Here's my solution.
      I wrote a script to export my Thunderbird Personal Address Book to a csv file. It then reads that file and re-writes it with html wrappers around the data to make it into a nicely formatted web page. It then uploads the htm file to my website. On my smartphone, I created a shortcut to the file's URL and whenever I click it, I get the list displayed. Each contact shows name and email address along with a COPY button that will put the address into the clipboard. Then in my email client, I can easily paste that address into it. Alternatively, clicking on the actual email link will open a new message dialog in your email client with that address already entered.
      To use the app, all you need to do is use Thunderbird and have a webserver available. You'll need to download the FTPEX.AU3 file from this website and make a few changes to some constants around line 17 for FTP login info, etc.
       
      pab2ftp.au3
    • By SkysLastChance
      What would be the best way to grab the last digits of this <span>? One of the problems I know I am going to have is sometimes it will be 1 digit other times it might be 3. 

      I am trying to get the list of spans and I get this error.

       
      $oInputs = _IETagNameGetCollection($oIE, "span") $sTxt = "" For $oInput In $oInputs     $sTxt &= $oInput.Innertext & @CRLF Next MsgBox($MB_SYSTEMMODAL, "Form Input Type", "Form: " & $oInput.form.name & @CRLF & @CRLF & "         Types :" & @CRLF & $sTxt)  
    • By yffulf
      Is there probably a way to click ie popup button and hide or invisible popup button in the same time?
      I try to use WinSetState @SW_hide ,
      the result is ie crashing or no response because button hide and the next click command won't work...
      $oForm=_IEFormGetObjByName($oIE,"form1") $obutton=_IEFormElementGetObjByName($oForm,"btn_OK") $hWnd = _IEPropertyGet($oIE, "hwnd") _IEAction($obutton,"focus") ControlSend($hWnd, "", "[CLASS:Internet Explorer_Server; INSTANCE:1]", "{Enter}") WinWait("", "確定存檔嗎?") WinSetState("","確定存檔嗎?",@SW_Hide) ControlClick("", "確定存檔嗎?", "[CLASS:Button; TEXT:確定; Instance:1;]")  
×
×
  • Create New...