Ringer: Web Automation by Demonstration

Total Page:16

File Type:pdf, Size:1020Kb

Ringer: Web Automation by Demonstration Ringer: Web Automation by Demonstration Shaon Barman Sarah Chasins Rastislav Bodik University of California, Berkeley University of California, Berkeley University of Washington (USA) (USA) (USA) [email protected] [email protected] [email protected] rtifact A Comple * t * te * n * A te Sumit Gulwani is W E s A e n C l l L o D C S o * * c P u e m s E u O e e n v R Microsoft Research (USA) t e O o d t a y * s E a * l u d a e [email protected] t Abstract scrape data for their studies and journalists for their stories (the investigative news organization ProPublica hires pro- With increasing amounts of data available on the web and a grammers to develop web scrapers [2]). Overall, the interest diverse range of users interested in programmatically access- in web automation is growing: the number of StackOverflow ing that data, web automation must become easier. Automa- questions on “scraping” grew by 16% in 2014 and 23% in tion helps users complete many tedious interactions, such as 2015 [34], and commercial scrapers such as Kimono [25] and scraping data, completing forms, or transferring data between import.io [22] appeared during the last three years. websites. However, writing web automation scripts typically Writing good web automation scripts is challenging. Since requires an expert programmer because the writer must be some websites do not offer APIs for accessing their data, able to reverse engineer the target webpage. We have built a retrieving the data programmatically requires reverse engi- record and replay tool, Ringer, that makes web automation neering their webpages’ DOM tree structures and event han- accessible to non-coders. Ringer takes a user demonstration dlers. To remain useful, programs must account for future as input and creates a script that interacts with the page as a changes to webpages, such as website redesigns or updated user would. This approach makes Ringer scripts more robust content. Additionally, on websites that actively attempt to pre- to webpage changes because user-facing interfaces remain vent automated scraping, the programmer must work around relatively stable compared to the underlying webpage im- obfuscation. For instance, some pages wait to load part of plementations. We evaluated our approach on benchmarks a page’s content until the user hovers over or clicks on a recorded on real webpages and found that it replayed 4x more relevant component. Further, modern user interfaces, such benchmarks than a state-of-the-art replay tool. as autocomplete menus and “infinite scrolling,” add to the Categories and Subject Descriptors H.5.3 [Group and Or- complexity of automating web access. ganization Interfaces]: Web-based interaction General Terms Design, Languages 1.1 Approach Keywords Record-Replay, Automation, Javascript, Browser We describe Ringer, a record and replay system that produces 1. Introduction web automation scripts from end-user demonstrations. Ringer Programmatic access to user-facing websites serves a range is based on the observation that while the internals of a web- of purposes: news readers reformat news articles for cleaner page may change, the user-facing interface tends to remain access (e.g., Readability [3]); end users automate tedious in- stable in order to maintain a consistent user experience. Reli- teractions with webpages (e.g., IFTTT [1]); and data scientists able automation can thus be achieved by invoking actions at the level of the user-visible interface, rather than by reverse Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed engineering server requests or JavaScript function calls or for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM other low-levels components of the implementation. must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, Given a user demonstration, Ringer produces a script to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]. that completes the user’s demonstrated task. The script is Copyright is held by the owner/author(s). Publication rights licensed to ACM. a sequence of statements of the form “wait for a condition OOPSLA’16, November 2–4, 2016, Amsterdam, Netherlands C, then perform an action a on a webpage node n.” Ringer ACM. 978-1-4503-4444-9/16/11...$15.00 http://dx.doi.org/10.1145/2983990.2984020 records the sequence of actions in the demonstration. For 748 each action, it produces a condition and a node selector that 1.4 Results make the script robust to certain types of webpage changes. To evaluate Ringer as a whole, we developed a suite of 34 1.2 Applications interaction benchmarks. We compared Ringer to CoScripter, an existing end-user replay tool, and found that CoSripter Because Ringer infers scripts from only a user demonstration, replayed 6 (18%) benchmarks, while Ringer replayed 25 it gives non-programmers access to web automation. Using (74%). We also tested how well Ringer handled page changes Ringer, we built an example application (discussed further by rerunning Ringer scripts over a three-week period. Of the in Section 8.5) that lets non-coders build a homepage with 24 benchmarks that ran initially, 22 (92%) continued to run custom “live information tiles.” Users record how to scrape at the end of the testing period. the day’s flavors at their local ice cream shop, today’s open To set expectations for how well a replayer can perform, hours at their pool, or their current commute time; the custom we must acknowledge that sites are free to modify their homepage replays those interactions to display up-to-date pages arbitrarily at any time. To counteract the inherent best- information. effort nature of the replay problem, Ringer uses previously Ringer benefits expert programmers, too, because record developed techniques [23] to specify invariants, i.e., text that and replay obviates the need for tedious reverse engineering. must appear on a page. We use these invariants to increase the Programmers can simply record an interaction and then confidence that replay has not diverged and as a correctness modify the resulting Ringer script or embed it into a larger condition when evaluating Ringer. application. For example, WebCombine [14], a tool built This paper makes the following contributions: using Ringer, lets a user scrape large datasets from structured • websites. The user demonstrates how to scrape one row of A record and replay approach to webpage automation that the dataset, and WebCombine modifies the resultant Ringer mimics a user’s interactions. We record scripts that use script to scrape all other rows of the dataset. three constructs: actions, nodes and trigger conditions. • A node addressing algorithm based on similarity that 1.3 Technical Challenges identifies nodes across multiple webpage accesses. Replaying recorded actions may appear simple, but funda- • An algorithm that generates trigger conditions by observ- mental challenges make it difficult to mimic a human user, ing multiple replay executions. both spatially (selecting the node on which to apply an action) and temporally (determining the conditions under which the This paper is organized as follows. Section 2 introduces page is ready for the action). the challenges of automating websites and the approaches To solve the spatial problem we must define a reliable Ringer takes to solve them. Ringer’s core language features correspondence between demonstration-time DOM nodes are presented in Section 3, with the temporal problem dis- and replay-time nodes. Given a new version of a webpage, we cussed further in Section 4 and the spatial problem discussed seek the node that a user would select to re-demonstrate the further in Section 5. Section 6 details Ringer’s implementa- interaction. Existing solutions [6, 27, 36] are fragile because tion, and Section 7 details its limitations. In Section 8, we they require a few key node attributes to remain constant. present an evaluation of Ringer on a set of benchmark web- In contrast, our approach selects the replay-time node that sites. Finally, Section 9 offers a discussion of related work. maximizes a similarity metric. A longitudinal study of 30 2. Challenges in Web Automation webpages found that after 37 days our approach still identified 83% of nodes, 22 percentage points more than the next best Using a running example, we describe the inherent challenges approach. of the web automation approaches currently available to pro- To solve the temporal problem we must determine when grammers (Sections 2.1 and 2.2) and how Ringer addresses the webpage is ready for the next user action. Modern interac- these challenges while making automation accessible to end tive webpages often use visual cues, like showing a loading users (Sections 2.3 and 2.4). bar, to signal that they are waiting for responses from a server. 2.1 Web Automation Scripts Written by Programmers An impatient user (or a naive replay tool) might ignore the cue and use stale data, producing unexpected behaviors. Al- Consider the task of searching Amazon for a given camera though these visual cues are intuitive to humans, existing model, selecting the silver-colored camera from a list of color replay techniques are oblivious to them. To address the tem- options, then scraping its price. Perhaps a user wants to au- poral problem, Ringer replays scripts multiple times to infer tomate this process to detect when the price drops below triggers — conditions that must be met before each script a fixed amount.
Recommended publications
  • An Overview of the 50 Most Common Web Scraping Tools
    AN OVERVIEW OF THE 50 MOST COMMON WEB SCRAPING TOOLS WEB SCRAPING IS THE PROCESS OF USING BOTS TO EXTRACT CONTENT AND DATA FROM A WEBSITE. UNLIKE SCREEN SCRAPING, WHICH ONLY COPIES PIXELS DISPLAYED ON SCREEN, WEB SCRAPING EXTRACTS UNDERLYING CODE — AND WITH IT, STORED DATA — AND OUTPUTS THAT INFORMATION INTO A DESIGNATED FILE FORMAT. While legitimate uses cases exist for data harvesting, illegal purposes exist as well, including undercutting prices and theft of copyrighted content. Understanding web scraping bots starts with understanding the diverse and assorted array of web scraping tools and existing platforms. Following is a high-level overview of the 50 most common web scraping tools and platforms currently available. PAGE 1 50 OF THE MOST COMMON WEB SCRAPING TOOLS NAME DESCRIPTION 1 Apache Nutch Apache Nutch is an extensible and scalable open-source web crawler software project. A-Parser is a multithreaded parser of search engines, site assessment services, keywords 2 A-Parser and content. 3 Apify Apify is a Node.js library similar to Scrapy and can be used for scraping libraries in JavaScript. Artoo.js provides script that can be run from your browser’s bookmark bar to scrape a website 4 Artoo.js and return the data in JSON format. Blockspring lets users build visualizations from the most innovative blocks developed 5 Blockspring by engineers within your organization. BotScraper is a tool for advanced web scraping and data extraction services that helps 6 BotScraper organizations from small and medium-sized businesses. Cheerio is a library that parses HTML and XML documents and allows use of jQuery syntax while 7 Cheerio working with the downloaded data.
    [Show full text]
  • Web Data Extraction
    MASTER THESIS Tom´aˇsNovella Web Data Extraction Department of Software Engineering Supervisor of the master thesis: doc. RNDr. Irena Holubov´a,Ph.D. Study programme: Computer Science Study branch: Theoretical Computer Science Prague 2016 I declare that I carried out this master thesis independently, and only with the cited sources, literature and other professional sources. I understand that my work relates to the rights and obligations under the Act No. 121/2000 Sb., the Copyright Act, as amended, in particular the fact that the Charles University has the right to conclude a license agreement on the use of this work as a school work pursuant to Section 60 subsection 1 of the Copyright Act. In ........ date ............ signature of the author i Title: Web Data Extraction Author: Tom´aˇsNovella Department: Department of Software Engineering Supervisor: doc. RNDr. Irena Holubov´a,Ph.D., department Abstract: Creation of web wrappers (i.e programs that extract data from the web) is a subject of study in the field of web data extraction. Designing a domain- specific language for a web wrapper is a challenging task, because it introduces trade-offs between expressiveness of a wrapper’s language and safety. In addition, little attention has been paid to execution of a wrapper in restricted environment. In this thesis, we present a new wrapping language – Serrano – that has three goals in mind. (1) Ability to run in restricted environment, such as a browser extension, (2) extensibility, to balance the tradeoffs between expressiveness of a command set and safety, and (3) processing capabilities, to eliminate the need for additional programs to clean the extracted data.
    [Show full text]
  • Leukemia Medical Application with Security Features
    Journal of Software Leukemia Medical Application with Security Features Radhi Rafiee Afandi1, Waidah Ismail1*, Azlan Husin2, Rosline Hassan3 1 Faculty Science and Technology, Universiti Sains Islam Malaysia, Negeri Sembilan, Malaysia. 2 Department of Internal Medicine, School of Medicine, Universiti Sains Malaysia, Kota Bahru, Malaysia. 3 Department of Hematology, School of Medicine, Universiti Sains Malaysia, Kota Bahru, Malaysia. * Corresponding author. Tel.: +6 06 7988056; email: [email protected]. Manuscript submitted January 27, 2015; accepted April 28, 2015 doi: 10.17706/jsw.10.5.577-598 Abstract: Information on the Leukemia patients is very crucial by keep track medical history and to know the current status of the patient’s. This paper explains on development of Hematology Information System (HIS) in Hospital Universiti Sains Malaysia (HUSM). HIS is the web application, which is the enhancement of the standalone application system that used previously. The previous system lack of the implementation of security framework and triple ‘A’ elements which are authentication, authorization and accounting. Therefore, the objective of this project is to ensure the security features are implemented and the information safely kept in the server. We are using agile methodology to develop the HIS which the involvement from the user at the beginning until end of the project. The user involvement at the beginning user requirement until implemented. As stated above, HIS is web application that used JSP technology. It can only be access within the HUSM only by using the local Internet Protocol (IP). HIS ease medical doctor and nurse to manage the Leukemia patients. For the security purpose HIS provided password to login, three different user access levels and activity log that recorded from each user that entered the system Key words: Hematology information system, security feature, agile methodology.
    [Show full text]
  • Design of Imacros-Based Data Crawler and the Behavioral Analysis of Facebook Users
    Design of iMacros-based Data Crawler and the Behavioral Analysis of Facebook Users Mudasir Ahmad Wani Nancy Agarwal Suraiya Jabin Syed Zeesahn Hussain Research laboratory Research laboratory Department of Computer Department of Computer Department Computer Department Computer Science Science Science Science Faculty of Natural Science Faculty of Natural Science Faculty of Natural Science Faculty of Natural Science Jamia Millia Islamia (A Jamia Millia Islamia (A Jamia Millia Islamia (A Jamia Millia Islamia (A Central University) Central University) Central University) Central University) New Delhi, India New Delhi, India New Delhi, India New Delhi, India [email protected] [email protected] [email protected] [email protected] Abstract Obtaining the desired dataset is still a prime challenge faced by researchers while analyzing Online Social Network (OSN) sites. Application Programming Interfaces (APIs) provided by OSN service providers for retrieving data impose several unavoidable restrictions which make it difficult to get a desirable dataset. In this paper, we present an iMacros technology-based data crawler called IMcrawler, capable of collecting every piece of information which is accessible through a browser from the Facebook website within the legal framework which permits access to publicly shared user content on OSNs. The proposed crawler addresses most of the challenges allied with web data extraction approaches and most of the APIs provided by OSN service providers. Two broad sections have been extracted from Facebook user profiles, namely, Personal Information and Wall Activities. The present work is the first attempt towards providing the detailed description of crawler design for the Facebook website. Keywords: Online Social Networks, Information Retrieval, Data Extraction, Behavioral Analysis, Privacy and Security.
    [Show full text]
  • Computer Science) Thesis Title
    MS (Computer Science) Thesis title: Formal Automated Testing of an Information Management System Submitted by: Rozina Kamil Roll no. 11 Reg. no: IU15M2LA011 Supervised by: Dr. Nadeem Akhtar i Title Formal Automated Testing of an Information Management System By Rozina Kamil Roll no. 11 Reg. no: IU15M2LA011 Thesis submitted for the partial fulfilment of the requirement for the degree of MASTER OF SCIENCE In COMPUTER SCIENCE Department of Computer Science & IT The Islamic University of Bahawalpur - PAKISTAN Fall 2015-17 i DECLARATION Formal Automated Testing of an Information management System published source (except the references, standard mathematical or geometrical models/equations /formulae /protocols etc.). I further declare that this work has not been submitted for award of any other diploma/degree. The university may take action if information provided is found inaccurate at any stage. (In case of default, the scholar will be proceeded against as per HEC plagiarism policy). Rozina Kamil Roll no. 11 Reg no. IU15M2LA011 ii To, The Controller of Examinations The Islamia University of Bahawalpur, Pakistan We, the supervisory committee, certify that the contents and format of thesis titled Formal Automated testing of an information management system submitted by Rozina Kamil, Roll no. 11, and Registration no. IU15M2LA011 have been found satisfactory and recommend that it be processed for evaluation by the External Examiner(s) for the award of degree. Supervisor Dr. Nadeem Akhtar Department of Computer Science & IT The Islamia University of Bahawalpur Pakistan iii Dedication I dedicate my dissertation work to my all family members, friends, class mates and my supervisor. It cannot be possible for their sincere support and encourage.
    [Show full text]
  • Download Free Internet Explorer Latest Version 9
    Download free internet explorer latest version 9 Download Internet Explorer 9 for Windows now from Softonic: % safe and virus free. More than downloads this month. Download Internet Explorer 9. Internet Explorer 9, free and safe download. Internet Explorer 9 latest version: Microsoft's browser is becoming more up-to-date. The classic Microsoft browser. Internet Explorer 9 9 free download. Get new version of Internet Explorer 9. A PC program for surfing the web ✓ Free ✓ Updated ✓ Download now. Security, ease of use, and improvements in RSS, CSS, and Ajax support are Microsoft's priorities for Internet Explorer. This version of IE runs on. For faster and richer experience on the web, adopt Internet Explorer 9! The browser's image changes with this software because it uses the full. Windows Internet Explorer 9 (IE9) is a version of the Internet Explorer web browser from From Wikipedia, the free encyclopedia . Internet Explorer 9 Beta, , New user interface, download manager, and feedback issue with Internet Explorer 9 and the latest version of Windows Live Sign-in Assistant. Microsoft's Internet Explorer 9 (IE9) beta now available to the masses. have done in planning, developing, and releasing the latest version of Internet Explorer. Windows Internet Explorer 9 delivers web sites and applications that look and perform like native PC applications through the power of Windows. It has support. Internet Explorer 9 free download. Get the latest version now. The 9th version of the world's most popular web browser. Download the latest version of Internet Explorer free. The newest version of Windows, 7, includes the latest Internet Explorer 9, which is a true.
    [Show full text]
  • Acamia: Automating Configuration Across Multiple Interactive
    ACaMIA: Automating Configuration across Multiple Interactive Applications Paper # 22 — 14 pages ABSTRACT browser [3]) or require changes to the operating system ker- nel to track dependencies across applications [15], which Desktop setup and configuration is a common task in any makes them unacceptable to most organizations, which are computing environment, and its automation would save committed to using a stock, proprietary, off the shelf oper- time and money. Existing automation tools are generally ating system. application-specific (i.e., macros). Most non-trivial config- This paper introduces ACaMIA, a new approach for uration tasks, however, have dependencies across applica- automating configuration updates. The basic idea behind tions. To allow automation in an application-independent ACaMIA is to 1) record the graphical user interface actions manner, past work circumvents the GUI by modifying the that an initial, small set of users take when they perform kernel to track causal dependencies across applications and the configuration update, 2) combine the resulting traces to then taking diffs of the affected files. Such kernel modifica- extract a parameterized sequence of GUI actions that to- tions, however, are unsuitable for the commercial operating gether accomplish the update, and 3) apply this sequence systems typical in the desktop environment, and file diffs on demand to automatically perform the update to other are fragile in the face of complex, application-specific and machines. A key insight behind this approach is the iden- binary file formats. tification of the graphical user interface as the appropriate This paper introduces ACaMIA, a tool that uses a new interposition layer for recording and replaying configura- approach to automating configuration.
    [Show full text]
  • Syndicate Framework 55 Table of Contents Ix
    Individual Service Composition in the Web-age Inauguraldissertation zur Erlangung der Wurde¨ eines Doktors der Philosophie vorgelegt der Philosophisch-Naturwissenschaftlichen Fakultat¨ der Universitat¨ Basel von Sven Rizzotti aus Basel Basel, 2008 Genehmigt von der Philosophisch-Naturwissenschaftlichen Fakult¨atauf Antrag von Herrn Prof. Dr. Helmar Burkhart, Universit¨atBasel und Herrn Prof. Dr. Gustavo Alonso, ETH Z¨urich, Korreferent. Basel, den 11.12.2007 Prof. Dr. Hans-Peter Hauri, Dekan To my parents, Heide and Fritz Rizzotti and my brother J¨org. On the Internet, nobody knows you're a dog. Peter Steiner cartoon in The New Yorker (5 July 1993) page 61 Abstract Nowadays, for a web site to reach peak popularity it must present the latest information, combined from various sources, to give an interactive, customizable impression. Embedded content and functionality from a range of specialist fields has led to a significant improvement in web site quality. However, until now the capacity of a web site has been defined at the time of creation; extension of this capacity has only been possible with considerable additional effort. The aim of this thesis is to present a software architecture that allows users to personalize a web site themselves, with capabilities taken from the immense resources of the World Wide Web. Recent web sites are analyzed and categorized according to their customization potential. The results of this analysis are then related to patterns in the field of software engineering and from these results, a general conclusion is drawn about the requirements of an application architecture to support these patterns. A theoretical concept of such an architecture is proposed and described in detail.
    [Show full text]
  • Test Tools and Automation
    SHOWCASING THOUGHT LEADERSHIP AND ADVANCES IN SOFTWARE TESTING Test Tools and Automation Automation Selection Criteria: Picking the Right Candidates Robert Galen, Velocity Partners Test Automation Tool Avoid Epic Fail Cheap and Free Review Get Professional Help Software Test Tools LogiGear Staff Michael Hackett & Joe Luthy Randall Rice April 2014 | Volume VIII | Issue 2 2 Letter from the Editor esting tools - very important, very often overlooked, and Editor in Chief very often where mistakes are made. Michael Hackett T First, the most common mistake people make about tools is Managing Editor thinking tools are only about test automation! False. Automa- Brian Letwin tion tools are merely one type testing tool. I heard a story, very recently in fact, of a company that paid a Deputy Editor large licensing fee to a major tool vendor, and invested a lot Joe Luthy of training and time to develop a phase 1 automation project. The intent was to scale up the initial phase into a large prod- uct suite automated regression tool. After just 6 months the Worldwide Offices project was dropped due to high test maintenance costs, over- idealized expectations and time demands. A whole lot of mon- United States Headquarters ey went down the drain! I have heard too, too many of these stories with test tools, and 2015 Pioneer Ct., Suite B specifically automation tools. San Mateo, CA 94403 Tel +01 650 572 1400 This story is not new. I heard nearly the same thing in 1994. This really highlights the need to address things like designing code for testability, high reusability automation Fax +01 650 572 2822 frameworks, lower maintenance test design, unrealistic tool vendor marketing, unrealistic staff expectation, etc.
    [Show full text]
  • Optimizing Software Quality Through Automation Testing Ankit Sharma
    St. Cloud State University theRepository at St. Cloud State Culminating Projects in Mechanical and Department of Mechanical and Manufacturing Manufacturing Engineering Engineering 1-2017 Optimizing Software Quality through Automation Testing Ankit Sharma Follow this and additional works at: https://repository.stcloudstate.edu/mme_etds Recommended Citation Sharma, Ankit, "Optimizing Software Quality through Automation Testing" (2017). Culminating Projects in Mechanical and Manufacturing Engineering. 65. https://repository.stcloudstate.edu/mme_etds/65 This Starred Paper is brought to you for free and open access by the Department of Mechanical and Manufacturing Engineering at theRepository at St. Cloud State. It has been accepted for inclusion in Culminating Projects in Mechanical and Manufacturing Engineering by an authorized administrator of theRepository at St. Cloud State. For more information, please contact [email protected]. Optimizing Software Quality through Automation Testing by Ankit Sharma A Starred Paper Submitted to the Graduate Faculty of St. Cloud State University in partial Fulfillment of the Requirements for the Degree Master of Engineering Management December, 2016 Starred Paper Committee: Ben Baliga, Chairperson Hiral Shah Balasubramanian Kasi 2 Abstract The current business application is large, multi-tired, distributed and integrated which require higher level of sophistication to implement and manage. The current quality methodologies rely on manual work which makes the application venerable due to its limitation and entails higher cost. Running complete regression suite manually every time is cumbersome and often do not complete due to either time or resource limitation. Finding more defects during testing life cycle has tremendous effect on the quality of an application. This project is intended to run more number of tests in lesser time and reduction in overall cost of the project and this has been achieved by implementing an automation tool.
    [Show full text]
  • Internet Explorer
    Internet Explorer From Wikipedia, the free encyclopedia Jump to: navigation, search Windows Internet Explorer Wikipedia's Main Page in Windows Internet Explorer 7 running on Windows Vista. Developed by Microsoft Initial release August 1995 (12–13 years ago) Latest release 7.0.5730.13 (Windows XP/Windows 2003 Server) 7.0.6001.18000 (Windows Vista SP1) / 2008 Preview release 8.0.6001.17184 (IE8, Beta 1) / March 5, 2008 OS Microsoft Windows Mac OS System 7 to Mac OS X (discontinued) Solaris and HP-UX (discontinued) Genre Web browser and RSS Reader License Proprietary EULA Website microsoft.com/ie Windows Internet Explorer (formerly Microsoft Internet Explorer abbreviated MSIE), commonly abbreviated to IE, is a series of graphical web browsers developed by Microsoft and included as part of the Microsoft Windows line of operating systems starting in 1995. It has been the most widely used web browser since 1999, attaining a peak of about 95% usage share during 2002 and 2003 with IE5 and 6 but steadily declining since, despite the introduction of IE7. Microsoft spent over 100 million dollars (USD) a year [1] in the late 1990s, with over 1000 people working on IE by 1999. [2] Internet Explorer was first released as part of the add-on package Plus! for Windows 95. Later versions were available as free downloads, or in service packs, and included in the OEM service releases of Windows 95 and later versions of Windows. The most recent release is version 7.0, which is available as a free update for Windows XP Service Pack 2, and Windows Server 2003 with Service Pack 1 or later, Windows Vista, and Windows Server 2008.
    [Show full text]
  • Web Automation by Demonstration
    Ringer: Web Automation by Demonstration Shaon Barman Sarah Chasins Ras Bodik University of California, Berkeley University of California, Berkeley University of Washington (USA) (USA) (USA) [email protected] [email protected] [email protected] rtifact A Comple * t * te n * A * te Sumit Gulwani is W E s A e n C l l L o D C S o * * c P u e m s E u O e e n v R Microsoft Research (USA) t e O o d t a y * s E a * l u d a e [email protected] t Abstract scrape data for their studies and journalists for their stories (the investigative news organization ProPublica hires pro- With increasing amounts of data available on the web and a grammers to develop web scrapers [2]). Overall, the interest diverse range of users interested in programmatically access- in web automation is growing: the number of StackOverflow ing that data, web automation must become easier. Automa- questions on “scraping” grew by 16% in 2014 and 23% in tion helps users complete many tedious interactions, such as 2015 [34], and commercial scrapers such as Kimono [25] and scraping data, completing forms, or transferring data between import.io [22] appeared during the last three years. websites. However, writing web automation scripts typically Writing good web automation scripts is challenging. Since requires an expert programmer because the writer must be some websites do not offer APIs for accessing their data, able to reverse engineer the target webpage. We have built a retrieving the data programmatically requires reverse engi- record and replay tool, Ringer, that makes web automation neering their webpages’ DOM tree structures and event han- accessible to non-coders.
    [Show full text]