1

Deleting Trac Spam with Selenium

Posted November 12th, 2009. Filed under Code

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:

If you have enjoyed this entry. Please feel free to bookmark it using your favorite social bookmarking site

One Response so far

Leave a Comment