Skip to main content

How do I establish an open connection to an open web browser in C#?


In a Microsoft C# program using a Visual Studio Code I am using the following namespaces:



using OpenQA.Selenium;

using OpenQA.Selenium.Chrome;

using OpenQA.Selenium.Support.UI;



After I get a string variable, “url”, assigned with a URL of a website page, I use the following commands which successfully opens a browser window and loads the web site:



IWebDriver driver = new ChromeDriver();

driver.Navigate().GoToUrl(url);



But this opens a chrome browser which is denoted somewhere as being a “test” session. It somehow knows it was launched from a program. And, since I am using this program to automate some interactions with linkedin, this information is passed along to linkedin which prompts me that it requires I login. This creates a cascading seriies of events that are difficult to automate including using my cell as a means of verification.


Here, let me show you what I am up against. This screen shot:



shows that the web browser that my code launches through selenium commands has a label on it, “Chrome is bring controlled by automated test software”. Yes, and I wrote this automated test software.


What is most annoying is the fact that there is no log in to the session which is done automatically when I normally launce a browser. Here see this screen shot



where you can see that the user icon is this nondescript non-person.

I made a video to demonstrate how pointless and frusturating this is.


So, instead of taking this route, how do I establish an open connection to an open web browser in C#? I figure, if I instead connect to a web browser that is already open and already has its veriication steps done with linkedin, then I won’t be prompted to log in and do any user verification.


On a personal note, if this is intentional security measures to prevent people from abusing a system, then this is a sad thing.


On a broader view, will all this mean I will have to make a web browser from scratch?


I do not think so. Here is the bottom line. I am using selenium commands. Selenium is used for software testing. So there must be some way to attack a C# program to an actively open chrome web browser and interact with it. How do I do that?

Be the first to reply!

Reply