C# and Python are not mutually exclusive, they compete in different domains. You should look at the problem you are trying to solve and use the proper language for the task.
C# is a compiled language, and as such, you get a lot of the niceties that comes with a statically typed language. Many errors are caught at compile time, and as a result, it makes you more rigorous in your approach. Similar to Java, you are forced to write OO code, which may or may not be a good thing. An improvement over Java, you can have anonymous closures, which allows you to be a little more expressive. Not to mention, LINQ is a godsend!
If you want to write a desktop application for Windows, you are better off with C# because of Visual studio (the best IDE out there in my opinion). For most other things, it's not a game changer for me. For most of what you will probably write, speed difference between C# (or Java) and Python is insignificant. You'll probably shave 1 or 2 seconds, even 15 seconds, it's not worth it.
As far as Python being harder, I disagree with this completely. Unless you've been writing in compiled languages for the past decade, Python is much easier to pick up. Being dynamically typed, things "just work." Here's the difference between Python and C#:
Python
C#
Code:
static class Program
{
static void Main()
{
Console.WriteLine("Hello world");
}
}
This is a stripped down version by having removed all the imports. Look at the difference in verbosity!
Regarding browser auto--mation (I'm not allowed to write that word

), I would probably bet on PhantomJS (right tool for the right job). It uses headless webkit (think Chrome and Safari), so you have full JavaScript support with proper HTML parsing support. I wrote a twitter account creator in about 50 lines of JavaScript using PhantomJS, not bad.