<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.craftoftesting.com/index.php?action=history&amp;feed=atom&amp;title=JavaScript_-_Cheat_Sheet</id>
	<title>JavaScript - Cheat Sheet - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.craftoftesting.com/index.php?action=history&amp;feed=atom&amp;title=JavaScript_-_Cheat_Sheet"/>
	<link rel="alternate" type="text/html" href="https://wiki.craftoftesting.com/index.php?title=JavaScript_-_Cheat_Sheet&amp;action=history"/>
	<updated>2026-08-20T00:15:25Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.0</generator>
	<entry>
		<id>https://wiki.craftoftesting.com/index.php?title=JavaScript_-_Cheat_Sheet&amp;diff=72&amp;oldid=prev</id>
		<title>Gregpaskal: Created page with &quot;{{: Header_Nav}} == Tools == * [https://jsfiddle.net/ Fiddle meta] * [https://beautifytools.com/javascript-validator.php JavaScript Validator]  == Chrome Snippets ==  === Functions ===  // JavaScript - Function - Loop - Conditionals  // URL: N/A    var inGlobalContext = true;    function printLessThanFive(){      var isInLessThanFiveFunction = true;      console.log(&#039;the number is less than 5&#039;);    }    function printIsFive(){      var isInGreaterThanFiveFunction = true;...&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.craftoftesting.com/index.php?title=JavaScript_-_Cheat_Sheet&amp;diff=72&amp;oldid=prev"/>
		<updated>2025-04-05T03:35:31Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;{{: Header_Nav}} == Tools == * [https://jsfiddle.net/ Fiddle meta] * [https://beautifytools.com/javascript-validator.php JavaScript Validator]  == Chrome Snippets ==  === Functions ===  // JavaScript - Function - Loop - Conditionals  // URL: N/A    var inGlobalContext = true;    function printLessThanFive(){      var isInLessThanFiveFunction = true;      console.log(&amp;#039;the number is less than 5&amp;#039;);    }    function printIsFive(){      var isInGreaterThanFiveFunction = true;...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{: Header_Nav}}&lt;br /&gt;
== Tools ==&lt;br /&gt;
* [https://jsfiddle.net/ Fiddle meta]&lt;br /&gt;
* [https://beautifytools.com/javascript-validator.php JavaScript Validator]&lt;br /&gt;
&lt;br /&gt;
== Chrome Snippets ==&lt;br /&gt;
&lt;br /&gt;
=== Functions ===&lt;br /&gt;
 // JavaScript - Function - Loop - Conditionals&lt;br /&gt;
 // URL: N/A&lt;br /&gt;
 &lt;br /&gt;
 var inGlobalContext = true;&lt;br /&gt;
 &lt;br /&gt;
 function printLessThanFive(){&lt;br /&gt;
     var isInLessThanFiveFunction = true;&lt;br /&gt;
     console.log(&amp;#039;the number is less than 5&amp;#039;);  &lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 function printIsFive(){&lt;br /&gt;
     var isInGreaterThanFiveFunction = true;&lt;br /&gt;
     console.log(&amp;#039;the number is five&amp;#039;);&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 function printGreaterThanFive(){&lt;br /&gt;
     var isInGreaterThanFiveFunction = true;&lt;br /&gt;
     console.log(&amp;#039;the number is greater than five&amp;#039;);&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 function runLoop(){&lt;br /&gt;
     var inRunLoop = true;&lt;br /&gt;
     for (var i=0; i&amp;lt;10; i++){&lt;br /&gt;
         if (i&amp;lt;5){&lt;br /&gt;
             printLessThanFive();&lt;br /&gt;
         }&lt;br /&gt;
         else if (i===5){&lt;br /&gt;
             printIsFive();&lt;br /&gt;
         }&lt;br /&gt;
         else{&lt;br /&gt;
             printGreaterThanFive();&lt;br /&gt;
         }&lt;br /&gt;
     }&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 runLoop();&lt;br /&gt;
&lt;br /&gt;
 // JavaScript - Function - Multiple Calls&lt;br /&gt;
 // URL: N/A&lt;br /&gt;
 &lt;br /&gt;
 function forth(){&lt;br /&gt;
     console.log(&amp;#039;yay!&amp;#039;);&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 function third(){&lt;br /&gt;
     var inThird = true;&lt;br /&gt;
     console.log(&amp;#039;running &amp;quot;third&amp;quot;&amp;#039;);&lt;br /&gt;
     forth();&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 function second(){&lt;br /&gt;
     console.log(&amp;#039;running &amp;quot;second&amp;quot;&amp;#039;);&lt;br /&gt;
     third();&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 function first(){&lt;br /&gt;
     for (var i=0; i&amp;lt;10; i++){&lt;br /&gt;
         console.log(&amp;#039;printing something 10 times&amp;#039;, i);&lt;br /&gt;
     }&lt;br /&gt;
     console.log(&amp;#039;running &amp;quot;first&amp;quot;&amp;#039;);&lt;br /&gt;
     second();&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 first();&lt;br /&gt;
&lt;br /&gt;
=== Loops ===&lt;br /&gt;
 // JavaScript - Loop - Console Output&lt;br /&gt;
 // URL: N/A&lt;br /&gt;
 &lt;br /&gt;
 for (var i=0; i&amp;lt;10;i++){&lt;br /&gt;
     console.log(&amp;#039;Hello World&amp;#039; + i);&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
=== XPath ===&lt;br /&gt;
 // JavaScript - XPath - Click button (Inline)&lt;br /&gt;
 // URL: &amp;lt;nowiki&amp;gt;http://the-internet.herokuapp.com/login&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 document.evaluate(&amp;#039;//button[@type=\&amp;quot;submit\&amp;quot;]&amp;#039;,document.body,null,9,null).singleNodeValue.click();&lt;br /&gt;
&lt;br /&gt;
 // JavaScript - XPath - Click button (Multiline)&lt;br /&gt;
 // URL: &amp;lt;nowiki&amp;gt;http://the-internet.herokuapp.com/login&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 var LO_Universal = &amp;quot;//button[@type=\&amp;quot;submit\&amp;quot;]&amp;quot;;&lt;br /&gt;
 document.evaluate(`${LO_Universal}`,document.body,null,9,null).singleNodeValue.click();&lt;br /&gt;
&lt;br /&gt;
 // JavaScript - XPath - Click button - Pause Udemy Video (Multiline)&lt;br /&gt;
 // URL: &amp;lt;nowiki&amp;gt;https://www.udemy.com/course/ios-13-app-development-bootcamp/learn/lecture/18002665?start=105#overview&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 xPathRes = document.evaluate (`//button[@data-purpose=&amp;#039;pause-button&amp;#039;]`, document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null);&lt;br /&gt;
 xPathRes.singleNodeValue.click();&lt;br /&gt;
&lt;br /&gt;
 // JavaScript - XPath - Click button - Play Udemy Video (Multiline)&lt;br /&gt;
 // URL: &amp;lt;nowiki&amp;gt;https://www.udemy.com/course/ios-13-app-development-bootcamp/learn/lecture/18002665?start=105#overview&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 xPathRes = document.evaluate (`//button[@data-purpose=&amp;#039;play-button&amp;#039;]`, document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null);&lt;br /&gt;
 xPathRes.singleNodeValue.click();&lt;br /&gt;
&lt;br /&gt;
 // JavaScript - XPath - Click link (Inline)&lt;br /&gt;
 // URL: &amp;lt;nowiki&amp;gt;http://the-internet.herokuapp.com/login&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 myFind = document.evaluate (`//a[@href=&amp;quot;&amp;lt;nowiki&amp;gt;http://elementalselenium.com/&amp;lt;/nowiki&amp;gt;&amp;quot;]`, document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null); myFind.singleNodeValue.click();&lt;br /&gt;
&lt;br /&gt;
 // JavaScript - XPath - Click link (Multiline)&lt;br /&gt;
 // URL: &amp;lt;nowiki&amp;gt;http://the-internet.herokuapp.com/login&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 var xPathRes = document.evaluate (`//a[@href=&amp;quot;&amp;lt;nowiki&amp;gt;http://elementalselenium.com/&amp;lt;/nowiki&amp;gt;&amp;quot;]`, document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null);&lt;br /&gt;
 xPathRes.singleNodeValue.click();&lt;br /&gt;
&lt;br /&gt;
 // JavaScript - XPath - Count links (Inline) - Cousole Output&lt;br /&gt;
 // URL: &amp;lt;nowiki&amp;gt;http://the-internet.herokuapp.com/login&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 locatorCount = document.evaluate(`count(//a)`, document, null, XPathResult.ANY_TYPE, null);&lt;br /&gt;
 console.log(`This document contains ${locatorCount.numberValue} links.`);&lt;br /&gt;
&lt;br /&gt;
 // JavaScript - XPath - Count paragraphs (Inline) - Cousole Output&lt;br /&gt;
 // URL: &amp;lt;nowiki&amp;gt;http://the-internet.herokuapp.com/login&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 paragraphCount = document.evaluate(&amp;#039;count(//p)&amp;#039;, document, null, XPathResult.ANY_TYPE, null);&lt;br /&gt;
 console.log(`This document contains ${locatorCount.numberValue} paragraphs.`);&lt;br /&gt;
&lt;br /&gt;
=== Other Example ===&lt;br /&gt;
 // Count the number of XPath Locators&lt;br /&gt;
 &lt;br /&gt;
 var LO_Universal = &amp;quot;//input[@id=\&amp;quot;notification\&amp;quot;]&amp;quot;;&lt;br /&gt;
 var LO_Universal2 = &amp;quot;//input&amp;quot;;&lt;br /&gt;
 &lt;br /&gt;
 var paragraphCount = document.evaluate( &amp;#039;count(//input)&amp;#039;, document, null, XPathResult.ANY_TYPE, null );&lt;br /&gt;
 alert( &amp;#039;This document contains &amp;#039; + paragraphCount.numberValue + &amp;#039; paragraph elements&amp;#039; );&lt;br /&gt;
 &lt;br /&gt;
 var paragraphCount = document.evaluate( `count(${LO_Universal})`, document, null, XPathResult.ANY_TYPE, null );&lt;br /&gt;
 alert( &amp;#039;This document contains &amp;#039; + paragraphCount.numberValue + &amp;#039; paragraph elements&amp;#039; );&lt;br /&gt;
 &lt;br /&gt;
 var paragraphCount = document.evaluate( `count(//input[@id=\&amp;quot;notification\&amp;quot;])`, document, null, XPathResult.ANY_TYPE, null );&lt;br /&gt;
 alert( &amp;#039;This document contains &amp;#039; + paragraphCount.numberValue + &amp;#039; paragraph elements&amp;#039; );&lt;br /&gt;
&lt;br /&gt;
 // This JavaScript get the value of a field using two different methods.&lt;br /&gt;
 // URL = &amp;lt;nowiki&amp;gt;https://testtools.ramseysolutions.net/urlauditor&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 console.log(&amp;quot;===== Get Value using getElementById =======&amp;quot;);&lt;br /&gt;
 var MyElement = document.getElementById(&amp;quot;UUID&amp;quot;).name;&lt;br /&gt;
 console.log(`MyElement: ${MyElement}`);&lt;br /&gt;
 &lt;br /&gt;
 console.log(&amp;quot;===== Get Value using XPath =======&amp;quot;);&lt;br /&gt;
 var LO_Universal = &amp;quot;//input[@id=\&amp;quot;UUID\&amp;quot;]&amp;quot;;&lt;br /&gt;
 var MyElement = document.evaluate(`${LO_Universal}`, document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null);&lt;br /&gt;
 console.log(`MyElement: ${MyElement.singleNodeValue.name}`);&lt;br /&gt;
&lt;br /&gt;
 // This JavaScript gets the value of a hidden field using XPath.&lt;br /&gt;
 // URL = &amp;lt;nowiki&amp;gt;https://testtools.ramseysolutions.net/urlauditor&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 console.log(&amp;quot;===== Get Hidden Value using XPath =======&amp;quot;);&lt;br /&gt;
 var LO_Universal = &amp;quot;//input[@name=\&amp;quot;campaign_id\&amp;quot;]&amp;quot;;&lt;br /&gt;
 var MyElement = document.evaluate(`${LO_Universal}`, document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null);&lt;br /&gt;
 console.log(`MyElement: ${MyElement.singleNodeValue.value}`);&lt;br /&gt;
&lt;br /&gt;
 // This JavaScript get the value of a hidden field using XPath&lt;br /&gt;
 // Then is changes the hidden value&lt;br /&gt;
 // Then it gets the changed hidden value.&lt;br /&gt;
 //&lt;br /&gt;
 // URL = &amp;lt;nowiki&amp;gt;https://testtools.ramseysolutions.net/urlauditor&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 // Ref: &amp;lt;nowiki&amp;gt;https://developer.mozilla.org/en-US/docs/Web/API/XPathResult&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 // Set universal values&lt;br /&gt;
 var LO_Universal = &amp;quot;//input[@name=\&amp;quot;test_tags\&amp;quot;]&amp;quot;;&lt;br /&gt;
 var MyElement = document.evaluate(`${LO_Universal}`, document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null);&lt;br /&gt;
 &lt;br /&gt;
 console.log(&amp;quot;===== Get Value using XPath =======&amp;quot;);&lt;br /&gt;
 var MyValue1 = MyElement.singleNodeValue.value&lt;br /&gt;
 console.log(`MyValue: ${MyValue1}`);&lt;br /&gt;
 &lt;br /&gt;
 console.log(&amp;quot;===== Set Value using XPath =======&amp;quot;);&lt;br /&gt;
 MyElement.singleNodeValue.value = &amp;quot;heartbaet&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 console.log(&amp;quot;===== Get Value using XPath =======&amp;quot;);&lt;br /&gt;
 var MyValue2 = MyElement.singleNodeValue.value&lt;br /&gt;
 console.log(`MyValue: ${MyValue2}`);&lt;br /&gt;
&lt;br /&gt;
== Terminology ==&lt;br /&gt;
* JXA (JavaScript for Automation)&lt;br /&gt;
&lt;br /&gt;
== Language Syntax ==&lt;br /&gt;
{{: Language_Syntax_-_Side_by_Side_Examples}}&lt;br /&gt;
&lt;br /&gt;
== Reference ==&lt;br /&gt;
* https://scriptingosx.com/2021/11/the-unexpected-return-of-javascript-for-automation/&lt;br /&gt;
* https://stevebarbera.medium.com/automating-chrome-with-jxa-javascript-application-scripting-6f9bc433216a&lt;br /&gt;
* JavaScript syntax for the Open Scripting Architecture (OSA), which is the underlying framework for all AppleScript functionality. Apple called this “JavaScript for Automation.” Because this is a mouthful, it is often abbreviated as JXA.&lt;br /&gt;
* [https://github.com/JXA-Cookbook/JXA-Cookbook/wiki JavaScript for Automation Cookbook]&lt;br /&gt;
* [https://computers.tutsplus.com/tutorials/a-beginners-guide-to-javascript-application-scripting-jxa--cms-27171 A Beginners Guide to JXA, JavaScript Application Scripting]&lt;/div&gt;</summary>
		<author><name>Gregpaskal</name></author>
	</entry>
</feed>