LEADER 06440nam 22007211 450 001 9910965462103321 005 20240402004943.0 010 $a9781782164234 010 $a1782164235 035 $a(CKB)2550000001166122 035 $a(OCoLC)865565054 035 $a(CaPaEBR)ebrary10813420 035 $a(SSID)ssj0001139576 035 $a(PQKBManifestationID)11748007 035 $a(PQKBTitleCode)TC0001139576 035 $a(PQKBWorkID)11213451 035 $a(PQKB)11456423 035 $a(Au-PeEL)EBL1572895 035 $a(CaPaEBR)ebr10813420 035 $a(CaONFJC)MIL547870 035 $a(OCoLC)864382095 035 $a(PPN)228025966 035 $a(OCoLC)869377805 035 $a(OCoLC)ocn869377805 035 $a(FR-PaCSA)88849896 035 $a(CaSebORM)9781782164227 035 $a(MiAaPQ)EBC1572895 035 $a(FRCYB88849896)88849896 035 $a(DE-B1597)723035 035 $a(DE-B1597)9781782164234 035 $a(EXLCZ)992550000001166122 100 $a20131230d2013 uy 0 101 0 $aeng 135 $aurcnu|||||||| 181 $ctxt 182 $cc 183 $acr 200 10$aGetting started with PhantomJS /$fAries Beltran 205 $a1st edition 210 1$aBirmingham :$cPackt Publishing,$d2013. 215 $a1 online resource (140 p.) 300 $aIncludes index. 311 08$a9781782164227 311 08$a1782164227 311 08$a9781306166195 311 08$a1306166195 327 $aIntro -- Getting Started with PhantomJS -- Table of Contents -- Getting Started with PhantomJS -- Credits -- About the Author -- About the Reviewers -- www.PacktPub.com -- Support files, eBooks, discount offers and more -- Why Subscribe? -- Free Access for Packt account holders -- Preface -- What this book covers -- What you need for this book -- Who this book is for -- Conventions -- Reader feedback -- Customer support -- Downloading the example code -- Errata -- Piracy -- Questions -- 1. Getting Started -- Downloading PhantomJS -- Building PhantomJS from source -- Working with PhantomJS -- PhantomJS JavaScript API -- The Module API -- The WebPage API -- The System API -- The FileSystem API -- The WebServer API -- The phantom object -- The command-line arguments -- The script argument -- The debug option -- The cookie-file option -- Writing PhantomJS scripts -- Summary -- 2. Manipulating Page Content -- Opening a web page -- Playing with DOM elements -- Selecting elements -- Simulating mouse clicks -- PhantomJS event triggering -- DOM event triggering -- Working with form fields -- Summary -- 3. Handling Events and Callbacks -- Listening to page events -- Page load events -- When a resource is requested -- Receiving a page resource -- Two stages of the resource received event -- Knowing when the URL changes -- Capturing alert messages -- Answering prompt messages -- Responding to confirm pop ups - OK or Cancel -- Performing user events -- Keyboard events -- Mouse events -- Summary -- 4. Capturing Errors -- Handling PhantomJS errors -- Capturing page script errors -- Anticipating the page loading error -- Exiting with error codes -- Summary -- 5. Grabbing Pages -- Undocumented supported image format -- Screenshot dimensions -- Saving web pages as PDFs -- Summary -- 6. Accessing Location-based Services -- Checking a location based on IP address. 327 $aGetting driving directions -- Looking up for pizza delivery establishments -- Summary -- 7. Working with Files -- PhantomJS FileSystem API -- Reading files -- Checking for file existence -- Opening the file -- Closing the opened files -- Writing files -- Character encoding -- Summary -- 8. Cookies -- Reading cookies -- Baking some cookies -- Deleting cookies -- Keeping cookies -- Summary -- 9. External JavaScript -- Modules -- Using the object-oriented modules -- Using third-party JavaScript libraries -- Summary -- 10. Testing with PhantomJS -- What is unit testing? -- Unit testing with Jasmine -- Downloading Jasmine -- Test specs with Jasmine -- The PhantomJS Jasmine runner -- Summary -- 11. Maximizing PhantomJS -- CasperJS -- GhostDriver -- Screenshots, web metrics, and more -- Summary -- Index. 330 $aHarness the strength and capabilities of PhantomJS to interact with the web and perform website testing with a headless browser based on WebKit Writing scripts that can interact directly with web services and pages Interacting with social media websites using PhantomJS scripts Creating web-based test scripts and running them in a headless browser In Detail PhantomJS is a headless WebKit browser with JavaScript API that allows you to create new ways to automate web testing. PhantomJS is currently being used by a large number of users to help them integrate headless web testing into their development processes. It also gives you developers a new framework to create web-based applications, from simple web manipulation to performance measurement and monitoring. A step-by-step guide that will help you develop new tools for solving web and testing problems in an effective and quick way. The book will teach you how to use and maximize PhantomJS to develop new tools for web scrapping, web performance measurement and monitoring, and headless web testing. This book will help you understand PhantomJS? scripting API capabilities and strengths. This book starts by looking at PhantomJS? JavaScript API, features, and basic execution of scripts. Throughout the book, you will learn details to help you write scripts to manipulate web documents and fully create a web scrapping tool. Through its practical approach, this book strives to teach you by example, where each chapter focuses on the common and practical usage of PhantomJS, and how to extract meaningful information from the web and other services. By the end of the book, you will have acquired the skills to enable you to use PhantomJS for web testing, as well as learning the basics of Jasmine, and how it can be used with PhantomJS. 517 3 $aPhantomJS 606 $aBrowsers (Computer programs) 606 $aWeb site development 615 0$aBrowsers (Computer programs) 615 0$aWeb site development. 676 $a006.7 700 $aBeltran$b Aries$01797256 801 0$bMiAaPQ 801 1$bMiAaPQ 801 2$bMiAaPQ 906 $aBOOK 912 $a9910965462103321 996 $aGetting started with PhantomJS$94339394 997 $aUNINA