VBA - scraping websites videos | Excel VBA Part 57.6 - Working with Multiple Tabs in Selenium

Posted by Andrew Gould on 03 May 2021

The video shows you how to open and work with multiple tabs in Google Chrome using Selenium Basic for VBA. You'll learn how to use the window.open javascript method, how to pass a URL into the method's parameter and how to switch to the tab that was opened. You'll also see how to open multiple tabs and loop through them to extract information before closing each one down. The final example in the video shows how to navigate to the Yahoo Finance website and extract a table of data for each date in a drop down list.

See our full range of VBA training resources, or test your knowledge of VBA with one of our VBA skills assessment tests.

This video has the following accompanying files:

File name Type Description
Working with Multiple Tabs in Selenium.xlsm Excel workbook with macros

Click to download a zipped copy of the above files.

There are no exercises for this video.

Making a  video bigger

You can increase the size of your video to make it fill the screen like this:

View full screen

Play your video (the icons shown won't appear until you do), then click on the full screen icon which appears as shown at its bottom right-hand corner.


When you've finished viewing a video in full screen mode, just press the Esc key to return to normal view.

Improving the quality of a video

To improve the quality of a video, first click on the Settings icon:

Settings icon

Make sure you're playing your video so that the icons shown appear, then click on this gear icon at the bottom right-hand corner.


Choose to change the video quality:

Video quality

Click on Quality as shown to bring up the submenu.


The higher the number you choose, the better will be your video quality (but the slower the connection speed):

Connection speed

Don't choose the HD option unless you have a fast enough connection speed to support it!


Is your Wise Owl speaking too slowly (or too quickly)?  You can also use the Settings menu above to change your playback speed.

This page has 2 threads Add post
30 Nov 21 at 05:54

Hi Andrew,

You are really savior and prompt in answering our queries. Last time your advice made my day!

I want to open the following link, with my credentials (User Id and Password) by SendKeys in input box through Selenium (VBA-Excel), but problem is It is showing NosuchElement


Could You Please help again :)

30 Nov 21 at 08:13

Hi! I don't know what code you've written but this is fairly standard, all the elements have unique Ids so they're fairly easy to reference. The following code works: 

Private cd As Selenium.ChromeDriver

Sub LoginToMoney()

    Dim LoginForm As Selenium.WebElement
    Dim EmailInput As Selenium.WebElement
    Dim PasswordInput As Selenium.WebElement
    Dim LoginButton As Selenium.WebElement
    Set cd = New Selenium.ChromeDriver
    cd.Get "https://accounts.moneycontrol.com/mclogin/"
    Set LoginForm = cd.FindElementByCss("#login_form")
    Set EmailInput = LoginForm.FindElementByCss("#email")
    Set PasswordInput = LoginForm.FindElementByCss("#pwd")
    Set LoginButton = LoginForm.FindElementByCss("#ACCT_LOGIN_SUBMIT")
    EmailInput.SendKeys "my email address"
    PasswordInput.SendKeys "my password"
End Sub

I hope it helps.

30 Nov 21 at 14:17

Hi Andrew, you rock !

awesome.. may the force be with you

29 Jun 21 at 11:39

First of all, I would like to appreciate the content you shared with us and the way you explained Selenium use in VBA.  I didn't get it anywhere else. I am enjoying using it in my programs. But I am facing one problem and not getting the solution anywhere.

Can I keep the Browser (Web page) open even after quitting the Sub/Function. Please suggest.

Thanks in advance



29 Jun 21 at 12:29

Hi there,

The browser remains open as long as the variable you use to reference it remains in scope. In the video you can see that the browser remains open even when the subroutine ends because the variable is declared at the module level. You can declare the variable as Public to extend its scope even further.

I hope that helps!

30 Jun 21 at 00:09

Thank you so much for your prompt response. It solved my problem. It really means a lot to me!!  Thanks again  :)

Andrew G  
30 Jun 21 at 07:33

You're very welcome!