Hello folks,
with the following code I try to load the login page of investors.com site:
use strict; use warnings; use Selenium::Remote::Driver; use LWP::UserAgent; use Data::Dumper; my $wait_period = $ENV{ SP_WAIT_PERIOD } ? $ENV{ SP_WAIT_PERIOD } : 5; my $ua = LWP::UserAgent->new( "Mozilla/5.0 (Windows NT 10.0; Win64; x6 +4; rv:61.0) Gecko/20100101 Firefox/61.0" ); $ua->default_header( 'Accept' => 'text/html,application/xhtml+xml,appl +ication/xml;q=0.9,*/*;q=0.8'); $ua->default_header( 'Accept-Encoding' => 'gzip, deflate, br' ); $ua->default_header( 'Accept-Language' => 'de,en-US;q=0.7,en;q=0.3' ); $ua->default_header( 'Cache-Control' => 'no-cache' ); $ua->default_header( 'Connection' => 'keep-alive' ); $ua->default_header( 'DNT' => 1 ); $ua->default_header( 'Host' => 'myibd.investors.com' ); $ua->default_header( 'Pragma' => 'no-cache' ); $ua->default_header( 'Referer' => 'https://www.investors.com/' ); $ua->default_header( 'Upgrade-Insecure-Requests' => 1 ); #print STDERR "REQUEST HEADER FIELDS:\n"; #print STDERR join( "\n", $ua->default_headers->header_field_names() ) +; my $selen=Selenium::Remote::Driver->new( browser_name => 'firefox', ua => $ua ); $selen->debug_on; print STDERR "INFO: Created new Web Driver instance.\n"; my $url="https://myibd.investors.com/secure/signin.aspx?eurl=https://w +ww.investors.com/"; $selen->set_timeout( 'page load', 60000); $selen->set_timeout( 'implicit', 100); $selen->get( $url ); sleep( $wait_period ); my $fh; open( $fh, ">", "first_page.htm"); print $fh $selen->get_page_source(); close( $fh ); my $elem; #eval{ $elem = $selen->find_element( "(//button[\@id='gdpr-accept-butt +on'])" ); }; eval{ $elem = $selen->find_element( "(//a[\@id='signin-link'])" ); }; if ( $@ ) { die( "ERROR: Could not locate element using xpath " . "//a[\@id='signin-link']." ); } my $trials = 0; my $retcode; while ( $trials < 10 ) { eval { $retcode = $elem->click() }; if ( $@ ) { warn( "ERROR: Could not navigate to login page. $@" ); } if ( $retcode ) { print STDERR "Click successful, waiting for page to load ...\n"; sleep( 20 ); last; } $trials++; print STDERR "\$retcode: $retcode\n"; sleep( 1 ); } open( $fh, ">", "second_page.htm"); print $fh $selen->get_page_source(); close( $fh );
But instead of the login page (title = " Investor's Business Daily | Login") I am redirected to a page with title"Investor's Business Daily | GDPR Agreement" (stored in first_page.htm) which shows, apart from the stuff on GDPR compliance, the information "We're sorry, we were unable to process your selection at this time. Please try again!", so obviuously the server had problems to process the request.
Output of the script run is as follows (for the actual html page see the end of this post):
NFO: Created new Web Driver instance. REQ: POST, http://localhost:4444/wd/hub/session/349dc119-3d7d-48a6-921 +e-ff9041eeb3f2/timeouts, {"type":"page load","ms":60000} RES: {"state":"success","sessionId":null,"hCode":2038984705,"value":{} +,"class":"org.openqa.selenium.remote.Response","status":0} REQ: POST, http://localhost:4444/wd/hub/session/349dc119-3d7d-48a6-921 +e-ff9041eeb3f2/timeouts, {"type":"implicit","ms":100} RES: {"state":"success","sessionId":null,"hCode":1528004735,"value":{} +,"class":"org.openqa.selenium.remote.Response","status":0} REQ: POST, http://localhost:4444/wd/hub/session/349dc119-3d7d-48a6-921 +e-ff9041eeb3f2/url, {"url":"https://myibd.investors.com/secure/signin +.aspx?eurl=https://www.investors.com/"} RES: {"state":"success","sessionId":null,"hCode":100444837,"value":{}, +"class":"org.openqa.selenium.remote.Response","status":0} REQ: GET, http://localhost:4444/wd/hub/session/349dc119-3d7d-48a6-921e +-ff9041eeb3f2/source, {} RES: {"state":"success","sessionId":null,"hCode":1543153839,"value":"< +html><head>\n<meta charset=\"utf-8\">\n<meta http-equiv=\"x-ua-compat +ible\" content=\"ie=edge\">\n<title>Investor's Business Daily | GDPR +Agreement</title>...</body></html>","class":"org.openqa.selenium.remo +te.Response","status":0} Wide character in print at ./stock_scraper.pl line 66. REQ: POST, http://localhost:4444/wd/hub/session/349dc119-3d7d-48a6-921 +e-ff9041eeb3f2/element, {"using":"xpath","value":"(//a[@id='signin-li +nk'])"} RES: {"state":"no such element","sessionId":null,"hCode":1918752997,"v +alue":{"additionalInformation":"\nDriver info: driver.version: unknow +n","localizedMessage":"Unable to locate element: (//a[@id='signin-lin +k'])\nFor documentation on this error, please visit: http://seleniumh +q.org/exceptions/no_such_element.html\nBuild info: version: '3.5.3', +revision: 'a88d25fe6b', time: '2017-08-29T12:54:15.039Z'\nSystem info +: host: 'v32523.1blu.de', ip: '178.254.37.13', os.name: 'Linux', os.a +rch: 'amd64', os.version: '3.16.0-042stab127.2', java.version: '1.8.0 +_172'\nDriver info: driver.version: unknown","supportUrl":"http://sel +eniumhq.org/exceptions/no_such_element.html","systemInformation":"Sys +tem info: host: 'v32523.1blu.de', ip: '178.254.37.13', os.name: 'Linu +x', os.arch: 'amd64', os.version: '3.16.0-042stab127.2', java.version +: '1.8.0_172'","cause":null,"stackTrace":[null,null,null,null,null,nu +ll,null,null,null,null,null,null,null,null],"suppressed":[],"message" +:"Unable to locate element: (//a[@id='signin-link'])\nFor documentati +on on this error, please visit: http://seleniumhq.org/exceptions/no_s +uch_element.html\nBuild info: version: '3.5.3', revision: 'a88d25fe6b +', time: '2017-08-29T12:54:15.039Z'\nSystem info: host: 'v32523.1blu. +de', ip: '178.254.37.13', os.name: 'Linux', os.arch: 'amd64', os.vers +ion: '3.16.0-042stab127.2', java.version: '1.8.0_172'\nDriver info: d +river.version: unknown","hCode":1792296,"class":"org.openqa.selenium. +NoSuchElementException","buildInformation":null},"class":"org.openqa. +selenium.remote.Response","status":7} ERROR: Could not locate element using xpath //a[@id='signin-link']. at + ./stock_scraper.pl line 76. REQ: DELETE, http://localhost:4444/wd/hub/session/349dc119-3d7d-48a6-9 +21e-ff9041eeb3f2, {} RES: {"state":"success","sessionId":null,"hCode":998727408,"value":{}, +"class":"org.openqa.selenium.remote.Response","status":0}
I removed most of the RESponse containing the actual web page.
In contrast to that the following wget invocation fetches the login page (without the JS modifications to the DOM of course) without any ptoblems:
wget --user-agent='Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:61.0) Gecko/20100101 Firefox/61.0' 'https://myibd.investors.com/secure/signin.aspx?eurl=https://www.investors.com/'This all happens on a Debian 8 VPS with a Selenium server of version 3.5.3 and Perl 5.20.3.
With the above URL I can load the login page wihtout problems using the Firefox browser on a Windows 10 box. Using the network monitor of this app I grabbed the header fields the browser passed to the server, and configured them in the perl script, hoping that a missing header field is the root cause why the redirection takes place, but to no avail.
What is going wrong here?
If You see other ways to login to that page (e..g., by just POSTing the login form data to the server), please let me know (for this I present the login page as it is loaded by wget in the following; sorry, quite a lot of stuff).
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:og="http://ogp.me/ns# +" xmlns:fb="http://ogp.me/ns/fb#"> <head id="ctl00_ctl00_Head1"><title> Investor's Business Daily | Login </title><meta http-equiv="Content-type" content="text/html;charset=UTF +-8" /><meta name="viewport" content="width=device-width, initial-scal +e=1" /><meta name="verify-v1" content="YZjCz9+d+L0R9oGgzk/twD8L81SyMR +5wmSy+wBH+mK8=" /><meta name="y_key" content="936909c3c1994b0d" /><me +ta name="msvalidate.01" content="A6A2E31D998968BEDD13CEA49F962D01" /> +<meta name="p:domain_verify" content="fdf942e4ea215fafa65b5d9c35f29da +9" /><meta property="twitter:account_id" content="21328656" /> <script src="https://services.investors.com/cssjshandler.ashx?groups=g +dpr-redirect&v=1.0"></script> <link href="https://plus.google.com/108468197399314074552/" rel="publi +sher" /> <script> if (window.location.href.toLowerCase().indexOf('/secure/signin.asp +x') == -1) { document.write('<scri' + 'pt async type="text/javascript" src= +"https://ad.wsod.com/pub/dffc64354445b947454450e472276b99/0.0.async/" +></scr' + 'ipt>'); } </script> <link rel="icon" href="/images/favicons/cropped-ibd-icon-32x32.png" si +zes="32x32" /><link rel="icon" href="/images/favicons/cropped-ibd-ico +n-192x192.png" sizes="192x192" /><link rel="apple-touch-icon-precompo +sed" href="/images/favicons/cropped-ibd-icon-180x180.png" /><meta nam +e="msapplication-TileImage" content="/images/favicons/cropped-ibd-ico +n-270x270.png" /><script src="https://myibd.investors.com/cssjshandle +r.ashx?keys=S20.ES16.S64.ES4.ES6.S178&v=201808291910" type="text/java +script"></script> <script src="https://myibd.investors.com/cssjshandler.ashx?groups=logi +n&v=201808291910" type="text/javascript"></script> <script src="https://myibd.investors.com/cssjshandler.ashx?keys=ES11&v +=201808291910" type="text/javascript"></script> <link href="https://myibd.investors.com/cssjshandler.ashx?keys=CF24.CF +25&v=201808291910" rel="stylesheet" type="text/css" /> <script type="text/javascript">var adPage = "/secure/signin.aspx";var +userSubType = "0";var userDisplayName = "";var userId = "";var userEm +ailAddress = "";var userFirstName = "";var userLastName = "";var user +Zip = "";var userTrialStatus = "Visitor";var userProductsOnTrial = "" +;var userProductsOwned = "";var userAdTrade="";var userAdTime="";var +userAdHold="";var userAdJob="";var userAdAge="";var userVisitCount="1 +";var role_leaderboard=false;var role_eibd=false;var role_icom=false; +var role_etables=false;var role_tru10=false;var role_marketsmith=fals +e;var role_swingtrader=false;var role_adfree=false;var userAdRoles="" +;var trial_daily_print_neg=false;var trial_daily_print_non=false;var +trial_weekly_print_neg=false;var trial_weekly_print_non=false;var tri +al_daily_combo_neg=false;var trial_daily_combo_non=false;var trial_we +ekly_combo_neg=false;var trial_weekly_combo_non=false;var trial_eibd_ +neg=false;var trial_eibd_non=false;var userVideoPreference="0";var us +erProfessionalStatus="False";</script><script src="//cdn.optimizely.c +om/js/2125810690.js"></script> <style> .login-page{ position:relative!important; } .main-content-column{ width:100%!important; } .signin-icon, .leaderboard-ad, hr.researchHr, .signin-links { display: none !important; } </style> <meta charset="utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" +/> <title>investors.com IBD University | Welcome</title> <link href='https://fonts.googleapis.com/css?family=Raleway:400,100,20 +0,300,500,600,700,800,900' rel='stylesheet' type='text/css' /> <link href='https://fonts.googleapis.com/css?family=Lato:400,100,300,7 +00,900,300italic,400italic,700italic,900italic,100italic' rel='styles +heet' type='text/css' /> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awes +ome/4.4.0/css/font-awesome.min.css" /> <script> var protocol = "http://"; var wordpressdomain; var version; if(document.location.protocol == 'http:') { protocol = 'http://'; wordpressdomain = "https://www.investors.com"; } else { protocol = 'https://'; wordpressdomain = "https://www.investors.com"; } version = 201808291910; //document.getElementById("lnkStyle").attributes("href",wo +rdpressdomain + "/wp-content/themes/ibd/dist/styles/main.css"); document.write("<link rel='stylesheet' href='" + wordpres +sdomain + "/wp-content/themes/ibd/dist/styles/main.css?v=" + version ++ "'/>"); </script> <script src="/Scripts/vendor/modernizr.js"></script> <script src="//cdnjs.cloudflare.com/ajax/libs/jquery-throttle-debounce +/1.1/jquery.ba-throttle-debounce.min.js"></script> <script>window.envURL = "investors.com"; </script> <style type="text/css"> .tradingCenterRight { display: block !important; } .adColumn .adunit { float: left; } @media only screen and (max-width: 640px) { .scStockLists { margin-top: 0em !important; } } @media print and (orientation: landscape) { .mobile-icon-nav, #menu-nav-desktop .mobile-icons { display: none; } } @media print and (orientation: portrait) { ul#menu-main-nav { display: none; } } @media print { a[href]:after { content: ""; } .noPrint { display: none; } } </style> <script type="text/javascript"> $(document).ready(function () { jQuery("div:hidden").each(function () { jQuery(this).addClass('noPrint'); }); //jQuery(".topLogoContainer").css("margin-bottom","-1r +em"); }); </script> <script>var adUpgrade = true; var protocol = "http://"; var wordpressdomain; </script> <style type="text/css"> .pushdown-ad.leaderboard-ad > div.adunit { min-height: 90px; } @media only screen and (max-width:320px) and (orientation:landscap +e) and (-ms-high-contrast:active),(-ms-high-contrast:none) { .home.page .graph-tool, .home.page .market-tool { background-size: 100%; font-size: 13.93px; } } </style> <!--[if lte IE 7]> <link href="https://www1.ibdcd.com/Css/global_ie.css" rel="stylesh +eet" type="text/css" media="screen" /> <![endif]--> <!--[if lt IE 7]> <link href="https://www1.ibdcd.com/Css/global_ie6.css" rel="styles +heet" type="text/css" media="screen" /> <![endif]--> </head> <body itemscope itemtype="http://schema.org/WebPage" style="" class="p +age home"> <script> dataLayer = []; dataLayer.push({'userSubType': '0'});dataLayer.push({'userTrialStatus' +: 'Visitor'});dataLayer.push({'userProductsOnTrial': ''});dataLayer.p +ush({'userProductsOwned': ''});dataLayer.push({'userAdTrade': ''});da +taLayer.push({'userAdTime': ''});dataLayer.push({'userAdHold': ''});d +ataLayer.push({'userAdJob': ''});dataLayer.push({'userAdAge': ''});da +taLayer.push({'role_leaderboard': 'false'});dataLayer.push({'role_eib +d': 'false'});dataLayer.push({'role_icom': 'false'});dataLayer.push({ +'role_etables': 'false'});dataLayer.push({'role_tru10': 'false'});dat +aLayer.push({'role_marketsmith': 'false'});dataLayer.push({'role_swin +gtrader': 'false'});dataLayer.push({'role_adfree': 'false'});dataLaye +r.push({'userProfessionalStatus': 'false'});dataLayer.push({'trial_da +ily_print_neg': 'false'});dataLayer.push({'trial_daily_print_non': 'f +alse'});dataLayer.push({'trial_weekly_print_neg': 'false'});dataLayer +.push({'trial_weekly_print_non': 'false'});dataLayer.push({'trial_dai +ly_combo_neg': 'false'});dataLayer.push({'trial_daily_combo_non': 'fa +lse'});dataLayer.push({'trial_weekly_combo_neg': 'false'});dataLayer. +push({'trial_weekly_combo_non': 'false'});dataLayer.push({'trial_eibd +_neg': 'false'});dataLayer.push({'trial_eibd_non': 'false'}); </script> <noscript><iframe src="//www.googletagmanager.com/ns.html?id=GTM-WTJV5 +P" height="0" width="0" style="display:none;visibility:hidden"></iframe>< +/noscript> <script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[ +0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= '//www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore +(j,f); })(window,document,'script','dataLayer','GTM-WTJV5P');</script> <script src="https://www.investors.com/wp-content/themes/ibd/dist/scri +pts/globalFunctions.js"></script> <script src="https://www.investors.com/api/values/"></script> <script type="text/javascript">var ieCookieDomain='.investors.com';</s +cript> <!--[if lte IE 8]> <style type="text/css"> /* IE Version Overlay */ #i +eversion-overlay { display: none; position: absolute; left: 50%; marg +in-left: -421px; top: 90px; width: 780px; color: #333; padding: 12px; + text-align: left; } #ieversion-overlay .top { background: url(https: +//www1.ibdcd.com/images/frames/interstitial-sprite.png) 0 0 no-repeat +; height: 35px; he\ight: 35px; padding: 8px 0 0 0; position: relative +; } #ieversion-overlay .top h3 { color: #fff; font-size: 18px; margin +: 0 0 0 21px; padding-top: 8px; position: relative; } #ieversion-over +lay .top a { background: transparent url(https://www1.ibdcd.com/image +s/btn/register-close.png) no-repeat scroll 0%; height: 21px; position +: absolute; right: 8px; top: 8px; width: 21px; } #ieversion-overlay . +bd { background: url(https://www1.ibdcd.com/images/frames/interstitia +l-sprite.png) repeat-y scroll -790px 0 transparent; height: auto; } # +ieversion-overlay .bd label { font-size: 12px; line-height: 18px; mar +gin-left: 3px; } #ieversion-overlay .bd h3 { color: #3782D4; } #iever +sion-overlay .foot { background: url(https://www1.ibdcd.com/images/fr +ames/interstitial-sprite.png) no-repeat scroll -1580px 0 transparent; + height: 12px; width: 780px; } #ieversion-overlay-content { padding: +10px 10px; text-align: left; } #ieversion-overlay-content p { margin- +bottom: 20px; font-size: 14px; margin-left: 5px; } </style> <div id=" +ieversion-overlay"><div class="top"><a href="#" class="jqmClose" titl +e="Close"></a></div><div class="clearthis bd"><div align="center" id= +"ieversion-overlay-content"><p> Investors.com no longer supports Inte +rnet Explorer 8 and below. To get the best possible experience using +our website and online products we recommend you update to a newer ve +rsion of Internet Explorer or use another browser. </p> <p> Please do +wnload the latest versions of any of the three most popular browsers: + <a href="https://www.google.com/chrome/browser/">Google Chrome</a>, +<a href="https://windows.microsoft.com/en-us/internet-explorer/downlo +ad-ie">Internet Explorer</a> or <a href="https://www.mozilla.org/en-U +S/firefox/new/">Firefox</a>. </p></div></div><div class="foot"></div> +</div> <script type="text/javascript"> if ($.cookie('ie8') != "1") { +$.cookie('ie8', "1", { expires: 1000, path: '/', domain: ieCookieDoma +in }); $("#ieversion-overlay").jqm({modal:true,zIndex:3000000}).jqmSh +ow(); } </script> <![endif]--> <aside class="ibd-mobile-nav"> <div class="side-ad-area"></div> <form role="search" method="get" class="nav-search" action="/"> <input type="search" value="" name="s" class="topSearch" placeholder=" +Enter Ticker/Keyword" required="required" autocomplete="off" /> <ul class="search-suggestions"></ul> </form> </aside> <div class="wrapper"> <div class="mask"></div> <div class="broadcast-text" style="display: none;"> </div> <header class="banner top-bar" role="banner"> <div class="inner-wrap"></div> <section class="nav-container"> <div class="row topLogoContainer"> <div class="small-2 medium-3 columns desktop-nav-ad-container"> <div class="adunit nav-ad" data-adposition="sponsorbtn1"></div> </div> <div class="medium-6 columns investors-logo "> <a href="https://www.investors.com/"> <img id="ctl00_ctl00_WordPressHdrLogo_AltImage" src="https://myibd.inv +estors.com/secure/image/ibdLogo-600x50_1.jpg.cms" style="border-width +:0px;" /> </a> </div> <div class="show-for-large-up medium-3 columns"> <div class="shopping-cart empty"> <div class="icon">Shopping Cart</div> <div class="widget-shopping-cart navCart" id="lists"> Your cart is currently empty.<br> Visit the <a href='https://shop.inve +stors.com/'>IBD Store</a> to get started. </div> </div> <form role="search" method="get" class="nav-search" action="/"> <input type="search" value="" name="s" class="topSearch" placeholder=" +Enter Ticker/Keyword" required="required" autocomplete="off" /> <i class="fa fa-search fa-flip-horizontal"></i> <ul class="search-suggestions"></ul> </form> </div> </div> <div id="menu-nav-desktop"> </div> <script type="text/javascript"> var deviceView = { Desktop: 0, Tablet_Horizontal: 1, Tablet_Vertical: 2, Tablet_Mini_Vertical: 3, //Phone: 4, LandscapePhone: 4, PortraitPhone: 5 }; var currentDeviceView = function () { var wi = $(window).width(); var ht = $(window).height(); var isHorzTabletView = (((wi > ht) && wi < += 1024 && wi >= 800) || (wi / ht == 8 / 5 && +wi <= 1280)) && ((wi / ht) >= (13 / 9)); if (!isHorzTabletView) { isHorzTabletView = (wi > ht && wi <= 1 +024 && wi >= 800 && (wi / ht == 4 / 3)) || ((wi > ht) && wi <= 1280 & +& wi >= 800 && navigator.userAgent.match(/android/i) != null); } var isVertTabletView = wi <= 800 && wi >= +500 && wi < ht && ((wi / ht) <= (13 / 9)); var isVertMiniTabletView = wi < 768 && wi +> 500 && (wi < ht) && ((wi / ht) <= (13 / 9)); var isLandscapePhoneView = (wi > ht) && wi + < 800 && ((wi / ht) >= (13 / 9)); var isPortraitPhoneView = (wi < ht) && wi +< 500 && ((wi / ht) <= (13 / 9)); if (isHorzTabletView) { return deviceView.Tablet_Horizontal; } else if (isVertMiniTabletView) { return deviceView.Tablet_Mini_Vertical +; } else if (isVertTabletView) { return deviceView.Tablet_Vertical; } else if (isLandscapePhoneView) { return deviceView.LandscapePhone; } else if (isPortraitPhoneView) { return deviceView.PortraitPhone; } //else if (isPhoneView) { // return deviceView.Phone; //} else { return deviceView.Desktop; } } </script> <script> if(document.location.protocol == 'http:') { protocol = 'http://'; wordpressdomain = "https://www.investors.com"; } else { protocol = 'https://'; wordpressdomain = "https://www.investors.com"; } jQuery.ajax({ url: protocol + window.location.host + "/api/? +endpoint=nav", contentType: "application/json; charset=utf-8" +, dataType: "json", data: "", success: function (response) { jQuery('#menu-nav-desktop').html(response. +html); jQuery('#menu-nav-desktop ul > li > a').ea +ch(function () { var item = jQuery(this); if (item.text().toLowerCase() == 'Sign + In'.toLowerCase()) { item.parent().addClass('current-me +nu-item'); return false; } }); jQuery('.user-display-name').html(userDisp +layName); if (userId.length > 0) { jQuery.getScript(protocol + window.loc +ation.host + "/services/cssjshandler.ashx?groups=widgets-loggedin"); } var mobileMenu = jQuery('#menu-nav-desktop + > ul').clone(); jQuery('li.settings-dropdown,li.login-drop +down', mobileMenu).remove(); mobileMenu.attr('id', mobileMenu.attr('id' +) + '-1'); mobileMenu.removeClass().addClass('off-can +vas-list'); jQuery('aside .nav-search').after(mobileMe +nu); jQuery.getScript(wordpressdomain + "/wp-co +ntent/themes/ibd/dist/scripts/main.js", function () { if (typeof (afterMainJSLoaded) != 'und +efined') { afterMainJSLoaded(); } }); }, error: function (error) { jQuery.getScript(wordpressdomain + "/wp-co +ntent/themes/ibd/dist/scripts/main.js", function () { if (typeof (afterMainJSLoaded) != 'und +efined') { afterMainJSLoaded(); } }); } }); if (typeof (CreateAndAppendAd) == 'undefined') { window.CreateAndAppendAd = function () { }; } </script> </section> </header> <div class="mobile-dropdown" style="display: none;"> <div class="settings"> <div id="mySettingsModal" class="mobile-settings" role="dialog" aria-h +idden="true" aria-labelledby="modalTitle" data-reveal=""> <div class="settings-user-bar row"> <div class="columns small-6"> <div class="user-name">Hi <span class="user-display-name"></span></div +> </div> <div class="columns small-4 small-text"><a href="https://myibd.invest +ors.com/logout.aspx">SIGN OUT</a></div> </div> <div class="settingsHead row"> <div class="productsTitle left columns small-6">My Products</div> </div> <div class="settings-modal-section clear"> <ul class="small-block-grid-3 productIcons widget-my-products" data-pa +ge="mobile"> </ul> </div> <div class="settingsHead row"> <div class="productsTitle left columns small-6">My Favorites</div> <div class="columns small-4 sign-out-link"><a href="https://myibd.inve +stors.com/edit-favorites/">Edit</a></div> </div> <div class="settings-modal-section clear"> <div class="widget-my-favorites" data-page="mobile"></div> </div> <div class="settingsHead row"> <div class="productsTitle left columns small-6">My Stock Lists</div> </div> <div class="settings-modal-section clear"> <div class="widget-my-stock-list" data-page="mobile"></div> </div> </div> </div> </div> <div class="row hide-for-medium-down"> <div class="ads pushdown-ad leaderboard-ad text-center"> <div class="adunit" data-adposition="leader" align="center"></div> </div> </div> <div class="adSlot welcome-ad reveal" data-adposition="intropage" id=" +interstitial-modal" data-reveal="" data-animation-in="spin-in" data-a +nimation-out="spin-out"> <div class="welcome-ad-content"> <div id="interstitial-overlay-content"></div> </div> </div> <div class="login-page"> </div> <div class="modal-bg"> </div> <div class="row mainContainer container_research"> <div id="background"> <form name="aspnetForm" method="post" action="./signin.aspx?eurl=https +%3a%2f%2fwww.investors.com%2f" id="aspnetForm"> <div> <input type="hidden" name="__EVENTTARGET" id="__EVENTTARGET" value="" +/> <input type="hidden" name="__EVENTARGUMENT" id="__EVENTARGUMENT" value +="" /> <input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="Vb+z/V +UMSxLrSzJpVggfZKaXQfH025yoJ+NePRSV5oWvdzttCOhAd80bPaZMfNKvN4MLDRQzpj0 +pSKpOuySSE6IZjL4=" /> </div> <script type="text/javascript"> //<![CDATA[ var theForm = document.forms['aspnetForm']; if (!theForm) { theForm = document.aspnetForm; } function __doPostBack(eventTarget, eventArgument) { if (!theForm.onsubmit || (theForm.onsubmit() != false)) { theForm.__EVENTTARGET.value = eventTarget; theForm.__EVENTARGUMENT.value = eventArgument; theForm.submit(); } } //]]> </script> <script src="/WebResource.axd?d=pynGkmcFUV13He1Qd6_TZLm8Hkl0MsSX6Q9KW- +jVGaVEwSHP2DcpiRq305xZVdRtW7GtPA2&t=636477461180000000" type="tex +t/javascript"></script> <script src="/ScriptResource.axd?d=x6wALODbMJK5e0eRC_p1LeDNDVD_OwtlN5j +J3BM-QXJlJA3XcaUlEgj0L-LfhF10InKo5UBFLhNX73rllx5UccYhu-mUZh0lSbHjFRmn +SQEbFBkt0&t=ffffffffda74082d" type="text/javascript"></script> <script src="/ScriptResource.axd?d=P5lTttoqSeZXoYRLQMIScLqZ9G72o6hVcpV +HP33mOnjzbGpYmxGIlZqAWE187VZPun3qt90C8U6-TN2dInK3fk0W1M5vAc9Anu01Goi2 +MPfmn5wy0&t=ffffffffda74082d" type="text/javascript"></script> <script src="/Services/SiteAjaxService.asmx/js" type="text/javascript" +></script> <div> <input type="hidden" name="__VIEWSTATEGENERATOR" id="__VIEWSTATEGENERA +TOR" value="775746E1" /> </div> <div> <script type="text/javascript"> //<![CDATA[ Sys.WebForms.PageRequestManager._initialize('ctl00$ctl00$SiteScriptMan +ager', 'aspnetForm', [], ['ctl00$ctl00$SiteScriptManager',''], [], 90 +, 'ctl00$ctl00'); //]]> </script> <input type="hidden" name="ctl00$ctl00$SiteScriptManager" id="ctl00_ct +l00_SiteScriptManager" /> <script type="text/javascript"> //<![CDATA[ Sys.Application.setServerId("ctl00_ctl00_SiteScriptManager", "ctl00$ct +l00$SiteScriptManager"); Sys.Application._enableHistoryInScriptManager(); //]]> </script> <a name="pageTop"></a> <script src="/Scripts/LaunchMSTool.js"></script> <script src="/Scripts/LaunchMSTool2.js"></script> <a id="ctl00_ctl00_lnkPaywall" class="ex5trigger" rel="/register/paywa +lloverlay.aspx" href="javascript:void(0);"></a> <script type="text/javascript"> var _ms_ishtml5 = 'true'; var _ms_rooturl = 'https://marketsmith.investors.c +om/'; var shoppingDomain = 'https://shop.investors.com/' +; SetPopWindowOptions(); DetectCachedPage(); </script> <div id="addToStockListContainer" style="display: none; position: abso +lute; z-index: 10000;" onmouseout="divATSLmouseLeave('addToStockListC +ontainer')" onmouseover="divATSLmouseEnter()"> <div class="stkRoll"> <div id="addStkList" class="smSldBlu"> <div class="tp"> <div class="h3"> <div id="AddToYourListContent" style="margin-top: -5px;"> </div> </div> </div> <div id="addToStockListContainerContent" class="bd clearthis"> </div> <div class="ft" style="margin: 0px"> </div> </div> </div> </div> <hr class="hide-for-small-only researchHr" /> <div class="small-12 column bodycontentWrapper"> <section class=" main-content-column" id="main"> <div class="login-page" style="display: block;z-index:1;padding:0;min- +height:500px;top:0"> <div class="main-login-container" style="margin: 0 auto;width: 100%; m +ax-width: 1200px; position: relative;padding:10px;"> <div class="row" id="formDisplay"></div> </div> </div> <script type="text/javascript"> window.onpopstate = function(event) { console.log("location: " + document.location + ", state: " + + JSON.stringify(event.state)); if (window.location.hash == '#processed') { console.log('signin redirecting'); redirect(); } }; if (window.location.hash == '#processed') { console.log('signin redirecting'); redirect(); } var vendorLoginValid = false; var displayType = queryString('display').toLowerCase(); function redirect(url) { history.replaceState(undefined, document.title, "#processe +d"); var redirectUrl = decodeURIComponent(queryString("eurl")); if(redirectUrl == '') { redirectUrl = 'https://www.investors.com/'; } if (typeof (url) != 'undefined' && url != '') { redirectUrl = url; } window.location.href = redirectUrl; } function raasRegistrationSuccessHandler() { redirect(); } function raasLoginSuccessHandler() { redirect(); } function getCacheBuster() { return Math.round(new Date().getTime() / 1000); } function setupFrame() { console.log('setting up signin frame'); var formDisplay = document.getElementById('formDisplay'); if (formDisplay) { formDisplay.innerHTML = ''; var cacheBust = getCacheBuster(); formDisplay.innerHTML = '<iframe id="signin-iframe" sr +c="/register/signin-iframe.aspx?checkauth=true&display=' + displayTyp +e + '&t=' + cacheBust + '" frameborder="0" scrolling="no" style="widt +h:1px;min-width:100%;height:1000px;"></iframe>'; console.log('signin frame created'); } } if (vendorLoginValid) { redirect(); } else { setupFrame(); } </script> </section> <div class="medium-4 large-4 columns end page-sidebar rightRailSection +"> </div> </div> <hr class="lineFooter" /> <div> </div> </div> <div class="jqmWindow" id="ex2"></div> <div class="jqmWindow" id="ex21"></div> <div class="mediaWindow" id="ex3"></div> <div class="vidTutorial" id="ex4"></div> <div class="jqmWindow" id="ex5"></div> <a id="lnkLeaderboard" href="#" class="ex5trigger" rel="/register/road +block.aspx?id=ldb-n" style="display:none;"></a> <div align="center" style="clear:both;"> <a id="ctl00_ctl00_ServerTagLink" href="http://IBDWEB88" style="displa +y:block;width:20px;height:20px;"> <img src="/Images/eTables/px.gif" width="20" height="20" alt="" /> </a> </div> <script type="text/javascript"> //<![CDATA[ var iLoginFlag = 0;var sAccess = "PVC";var sDGOProductsSite = "premium +.investors.com";var gRootPath = "https://www.investors.com/";myEIBDIn +itialize('https://shop.investors.com/register/member.aspx','ex21','ht +tp://epaper.investors.com/Olive/ODN/IBD/','');//]]> </script> </form> <script type="text/javascript" src="//assets.adobedtm.com/274fd961f55c +a8538c6722982347e9543b05ca8c/satelliteLib-a0cc5624c32b752ed7b95a4cd2b +53847545fe1a2.js"></script><script type="text/javascript" language="j +avaScript">var digitalData = {}; digitalData.server="IBDWEB88"; digit +alData.channel=""; digitalData.pageName="Investor's Business Daily | +Login"; digitalData.contentType=""; digitalData.subSection1=""; digit +alData.subSection2=""; digitalData.subSection3=""; digitalData.user +ID=""; digitalData.userType="0"; digitalData.ticker=""; digitalData.p +roducts=""; digitalData.campaignID=""; digitalData.popupID=""; digita +lData.splashID=""; digitalData.orderEvent=""; digitalData.purchaseID= +""; digitalData.state=""; digitalData.zip=""; digitalData.productIdSt +ring=""; digitalData.trialStatus="Visitor"; digitalData.productsOnTri +al=""; digitalData.productsOwned=""; </script> <script type="text/javascript" language="javaScript">try{_satellite.pa +geBottom();}catch(e){}</script> <div class="bottomClear"> </div> </div> </div> <div id="fb-root"></div> <script type="text/javascript"> if (typeof (SocialMedia) != 'undefined') { SocialMedia.InitExternal('154916351273272', 'https://www.i +nvestors.com/'); } </script> </body> </html>
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |