www.webdeveloper.com
Results 1 to 8 of 8

Thread: Chrome extension and javascript click/submit error

  1. #1
    Join Date
    Jul 2012
    Posts
    17

    Chrome extension and javascript click/submit error

    I am making a chrome extension and I am stuck with javascript and pressing button on page. I have site with form like this on web(isn't mine so i can't edit it):

    Code:
    <input class="button" name="accept" type="submit" value=LoggIn">
    And now I automatically open page with username and password filled but now I want that button will be clicked automatically.

    I have code of script:

    Code:
    var tabID = 1;
    chrome.tabs.create({index:tabID,url:"https://monostudby4frd.hisf.no:8001/",active:false,pinned:true},
    function(tab) {
    tabID = tab.id;
    });
    
    sleep(3000);
    chrome.tabs.executeScript(null, {code:clickButton()});
    sleep(3000);
    
    chrome.tabs.getSelected(null, function(tab) {
    chrome.tabs.remove(tabID);
    });
    
    
    
    function sleep(ms) {
    var dt = new Date();
    dt.setTime(dt.getTime() + ms);
    while (new Date().getTime() < dt.getTime());
    }
    
    function clickButton() {
    document.getElementById("accept").click();
    }
    And debugger says:

    Code:
    Uncaught TypeError: Cannot call method 'click' of null
    Thx for any help!

  2. #2
    Join Date
    Jul 2012
    Posts
    6
    Hi Faja,
    I haven't tried your code but an obvious issue is that you're referring to an object by ID but using its name instead; try changing your button code to:

    HTML Code:
    <input class="button" name="accept" [B]id="accept"[/B] type="submit" value=LoggIn">

  3. #3
    Join Date
    Jul 2012
    Posts
    17
    Hey, I dont have access to the website.

  4. #4
    Join Date
    Jul 2012
    Posts
    6
    Not to either the HTML or the Javascript?

  5. #5
    Join Date
    Jul 2012
    Posts
    17
    I can't change the html. Maybe I post whole html code:


    Code:
    <body>
    <form method="post" action="https://monostudby4frd.hisf.no:8001/" name="frm">
    <div id="box">
    	<div id="top_line"></div>
    	<div id="heading"><br>Brukarautentisering trådlaust nettverk HiSF</div>
    	<div id="main">
    		<table class="font">
    		<tr>
    			<td width="140px">Brukarnamn:</td>
    			<td><input class="input" name="auth_user" type="text"></td>
    		</tr>
    		<script language="javascript" type="text/javascript">frm.auth_user.focus();</script>
    		<tr>
    			<td>Passord:</td>
    		  <td><input class="input" name="auth_pass" type="password"></td><td>
    		    <input class="button" name="accept" type="submit" value="Logg på"></td>
    		</tr>
    		<tr>
    			<td>&nbsp;</td>
    			<td>&nbsp;</td>
    		</tr>
    		</table>	<br>
    	</div>
    	<div id="bottom_line">Problem</div>
    </div>
    	<input name="redirurl" type="hidden" value="">
    </form>
    </body>

  6. #6
    Join Date
    Jul 2012
    Posts
    6
    Can you edit the javascript?

    You could change clickButton code to:

    Code:
    document.getElementsByName("accept")[0].click();

  7. #7
    Join Date
    Jul 2012
    Posts
    17
    Quote Originally Posted by AdvanceByDesign View Post
    Can you edit the javascript?

    You could change clickButton code to:

    Code:
    document.getElementsByName("accept")[0].click();
    yes I can and I get this:

    Code:
    cannot call method 'click' of undefined

  8. #8
    Join Date
    Jul 2012
    Posts
    6
    OK, sorry, use this:
    Code:
    document.forms[0].elements[2].click();

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
HTML5 Development Center



Recent Articles