<?xml version="1.0" encoding="utf-8"?>
<feed xml:lang="en-us" xmlns="http://www.w3.org/2005/Atom"><title>Simon Willison's Weblog: selenium</title><link href="http://simonwillison.net/" rel="alternate"/><link href="http://simonwillison.net/tags/selenium.atom" rel="self"/><id>http://simonwillison.net/</id><updated>2020-11-02T18:58:59+00:00</updated><author><name>Simon Willison</name></author><entry><title>selenium-wire</title><link href="https://simonwillison.net/2020/Nov/2/selenium-wire/#atom-tag" rel="alternate"/><published>2020-11-02T18:58:59+00:00</published><updated>2020-11-02T18:58:59+00:00</updated><id>https://simonwillison.net/2020/Nov/2/selenium-wire/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="https://pypi.org/project/selenium-wire/"&gt;selenium-wire&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
Really useful scraping tool: enhances the Python Selenium bindings to run against a proxy which then allows Python scraping code to look at captured requests—great for if a site you are working with triggers Ajax requests and you want to extract data from the raw JSON that came back.


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/data-journalism"&gt;data-journalism&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/python"&gt;python&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/scraping"&gt;scraping&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/selenium"&gt;selenium&lt;/a&gt;&lt;/p&gt;



</summary><category term="data-journalism"/><category term="python"/><category term="scraping"/><category term="selenium"/></entry><entry><title>selenium-demoscraper</title><link href="https://simonwillison.net/2019/Nov/4/selenium-demoscraper/#atom-tag" rel="alternate"/><published>2019-11-04T15:05:38+00:00</published><updated>2019-11-04T15:05:38+00:00</updated><id>https://simonwillison.net/2019/Nov/4/selenium-demoscraper/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="https://github.com/psychemedia/selenium-demoscraper"&gt;selenium-demoscraper&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
Really useful minimal example of a Binder project. Click the button to launch a Jupyter notebook in Binder that can take screenshots of URLs using Selenium-controlled headless Firefox. The binder/ folder uses an apt.txt file to install Firefox, requirements.txt to get some Python dependencies and a postBuild Python script to download the Gecko Selenium driver.

    &lt;p&gt;&lt;small&gt;&lt;/small&gt;Via &lt;a href="https://twitter.com/psychemedia/status/1191360534832205824"&gt;Tony Hirst&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/firefox"&gt;firefox&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/selenium"&gt;selenium&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/tony-hirst"&gt;tony-hirst&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/jupyter"&gt;jupyter&lt;/a&gt;&lt;/p&gt;



</summary><category term="firefox"/><category term="selenium"/><category term="tony-hirst"/><category term="jupyter"/></entry><entry><title>Cypress</title><link href="https://simonwillison.net/2017/Oct/11/cypress/#atom-tag" rel="alternate"/><published>2017-10-11T16:14:07+00:00</published><updated>2017-10-11T16:14:07+00:00</updated><id>https://simonwillison.net/2017/Oct/11/cypress/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="https://www.cypress.io/"&gt;Cypress&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
Promising looking new open source testing framework for full-blown web integration testing—a modern alternative to Selenium. I spent five minutes playing with the demo and was really impressed by it—especially their “time travel” feature which lets you hover over a passed test and see the state of the browser when each of those assertions was executed.

    &lt;p&gt;&lt;small&gt;&lt;/small&gt;Via &lt;a href="https://twitter.com/samccone/status/918142052927291392"&gt;Sam Saccone&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/selenium"&gt;selenium&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/testing"&gt;testing&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/cypress"&gt;cypress&lt;/a&gt;&lt;/p&gt;



</summary><category term="selenium"/><category term="testing"/><category term="cypress"/></entry><entry><title>Quoting Timothy Fitz</title><link href="https://simonwillison.net/2009/Feb/10/continuous/#atom-tag" rel="alternate"/><published>2009-02-10T15:06:46+00:00</published><updated>2009-02-10T15:06:46+00:00</updated><id>https://simonwillison.net/2009/Feb/10/continuous/#atom-tag</id><summary type="html">
    &lt;blockquote cite="http://timothyfitz.wordpress.com/2009/02/10/continuous-deployment-at-imvu-doing-the-impossible-fifty-times-a-day/"&gt;&lt;p&gt;It may be hard to imagine writing rock solid one-in-a-million-or-better tests that drive Internet Explorer to click ajax frontend buttons executing backend apache, php, memcache, mysql, java and solr. I am writing this blog post to tell you that not only is it possible, it’s just one part of my day job.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p class="cite"&gt;&amp;mdash; &lt;a href="http://timothyfitz.wordpress.com/2009/02/10/continuous-deployment-at-imvu-doing-the-impossible-fifty-times-a-day/"&gt;Timothy Fitz&lt;/a&gt;&lt;/p&gt;

    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/continuous-deployment"&gt;continuous-deployment&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/selenium"&gt;selenium&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/testing"&gt;testing&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/timothy-fitz"&gt;timothy-fitz&lt;/a&gt;&lt;/p&gt;



</summary><category term="continuous-deployment"/><category term="selenium"/><category term="testing"/><category term="timothy-fitz"/></entry></feed>