There's three ways a program can find the place to click. One is by giving it a special class or id, which you've done here. It's not tied to the rest of the markup, but it does do things in a way that the user does not. Two is by finding where it is on the page based on the markup (e.g. "section.sidebar ol.recent_posts a:contains('title')"). This ties your implementation to markup more tightly, but it does things is a more "natural" (IMHO) way -- more like the way a user would find the link. And three is by hardcoding X and Y values, which is obviously silly.

All will accomplish your goals, but the first way just makes me feel like you're not exercising your whole application, because the markup is part of that. And it feels like you're doing things in a way different than the user would, which is against the idea of the acceptance test.