Deleting Trac Spam with Selenium

November 12, 2009 by Jim · 1 Comment 

The CFEclipse Trac wiki has been polluted with spam for quite some time now.  We’ve finally got the spam under control but faced a big task of going in and cleaning up all the spam related pages.  I started doing it manually and quickly realized this was something I could automate with a bit of creative thinking.

I cranked up Selenium IDE and recorded myself manually deleting a page or two.  Looking at the resulting HTML test code I started hacking.

I had a list of all the spam pages via the Index page from Trac.  I cleaned that up into a comma delimited list.  Than I hacked up a short ColdFusion script to loop through the list and write out some HTML following the format of the Selenium test:

<tr> <!-- click spam link -->
<td>clickAndWait</td>
<td>link=401_buy_oxytrol
</td>
<td></td>
</tr>
<tr> <!-- click delete page button on spam page -->
<td>clickAndWait</td>
<td>//input[@value='Delete page']</td>
<td></td>
</tr>
<tr> <!-- click confirmation delete button -->
<td>clickAndWait</td>
<td>//input[@value='Delete page']</td>
<td></td>
</tr>

In hindsight I could have probably hacked my CF loop directly into my Selenium script and saved (and run) it as a .cfm.

I had well over 100 spam links to delete. I fired off the revised Selenium script in Selenium IDE and set on a medium speed (I didn’t want anything to timeout) and it chugged through these in a minute or two.

Done!   Probably not an intended use for Selenium but it worked and saved me a huge amount of manual labor.

Possibly Related:

Comments

One Response to “Deleting Trac Spam with Selenium”

Tell us what you're thinking...