TL;DR:This is a story. If a story does not fascinate you, jump to the solution.
Prologue:-
If you constantly monitor many forums for some reason like LinkedIn groups, Google groups, Stackoverflow for Selenium related queries, you will find a question that has been asked many times with the same answer. Yes, I’m talking about the below question -
How to open a new tab in a browser using Selenium WebDriver?
Or this might have been asked in different style like -
Open new tab instead of a new window using Selenium WebDriver
You will easily find an answer after quick Google search. Why this post?
Because I do not agree with the most accepted answer of this question. I am not saying that solution provided is wrong or it won't work, I am just saying that I disagree with the solution provided. What is the solution provided by the way - Here starts our story.
Open a blank tab in a browser using Selenium WebDriver
Now the above solution uses shortcut keys provided by the browser to open a new tab. Generally, all browsers use same keys to open a new tab. BUT shortcut keys are OS specific. Being said that solution provided is not platform agnostic. If you want to open the new tab on Macintosh / Mac OS, you have to send COMMAND+‘t’ together so your code would be like -
This is not very efficient code, every time you want to open a new tab you have to check OS and then you add the complexity of If else to open a new tab.
Solution:-
Why not use javascript? All major browsers support javascript. Use javascript to open a new tab in Selenium WebDriver. Simple & elegant solution.
Why not use javascript? All major browsers support javascript. Use javascript to open a new tab in Selenium WebDriver. Simple & elegant solution.
Bonus:- Open URL in a new tab in Selenium WebDriver.
Sometimes you might need to open URL in a new tab which you evaluated after some operation in a browser. All you need is send a parameter to javascript as below.
Cheers!!
0 comments:
Post a Comment