Jump to content

Counting the number of tabs on a browser - (Moved)


Recommended Posts

23 minutes ago, mLipok said:

Maybe you will be able to find out what I missed.

I don't know.  Your change works perfect without error on my part.  Running my own script though.  Thanks.

Link to comment
Share on other sites

@Nine please show me your console log for both cases:

CASE 1:
New session:

Quote

_WD_Startup: OS:    WIN_10 WIN32_NT 19044 
_WD_Startup: AutoIt:    3.3.16.0
_WD_Startup: au3WD UDF:    0.7.0 (Up to date)
_WD_Startup: WinHTTP:    1.6.4.2
_WD_Startup: Driver:    chromedriver.exe 32Bit
_WD_Startup: Params:    --log trace --remote-debugging-port=9222
_WD_Startup: Port:    9515
_WD_Startup: Command:    "chromedriver.exe" --log trace --remote-debugging-port=9222 
__WD_Post: URL=HTTP://127.0.0.1:9515/session; $sData={
    "capabilities":{
        "firstMatch":[
            {
                "goog:chromeOptions":{
                    "w3c":true
                }
            }
        ]
    }
}
 

 

CASE 2:
Attach to existing session:

Quote

_WD_Startup: OS:    WIN_10 WIN32_NT 19044 
_WD_Startup: AutoIt:    3.3.16.0
_WD_Startup: au3WD UDF:    0.7.0 (Up to date)
_WD_Startup: WinHTTP:    1.6.4.2
_WD_Startup: Driver:    chromedriver.exe 32Bit
_WD_Startup: Params:    --log trace
_WD_Startup: Port:    9515
_WD_Startup: Command:    "chromedriver.exe" --log trace 
__WD_Post: URL=HTTP://127.0.0.1:9515/session; $sData={
    "capabilities":{
        "firstMatch":[
            {
                "goog:chromeOptions":{
                    "w3c":true,
                    "debuggerAddress":"localhost:9222"
                }
            }
        ]
    }
}

 

Edited by mLipok

Signature beginning:
Please remember: "AutoIt"..... *  Wondering who uses AutoIt and what it can be used for ? * Forum Rules *
ADO.au3 UDF * POP3.au3 UDF * XML.au3 UDF * IE on Windows 11 * How to ask ChatGPT for AutoIt Codefor other useful stuff click the following button:

Spoiler

Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind. 

My contribution (my own projects): * Debenu Quick PDF Library - UDF * Debenu PDF Viewer SDK - UDF * Acrobat Reader - ActiveX Viewer * UDF for PDFCreator v1.x.x * XZip - UDF * AppCompatFlags UDF * CrowdinAPI UDF * _WinMergeCompare2Files() * _JavaExceptionAdd() * _IsBeta() * Writing DPI Awareness App - workaround * _AutoIt_RequiredVersion() * Chilkatsoft.au3 UDF * TeamViewer.au3 UDF * JavaManagement UDF * VIES over SOAP * WinSCP UDF * GHAPI UDF - modest begining - comunication with GitHub REST APIErrorLog.au3 UDF - A logging Library * Include Dependency Tree (Tool for analyzing script relations) * Show_Macro_Values.au3 *

 

My contribution to others projects or UDF based on  others projects: * _sql.au3 UDF  * POP3.au3 UDF *  RTF Printer - UDF * XML.au3 UDF * ADO.au3 UDF SMTP Mailer UDF * Dual Monitor resolution detection * * 2GUI on Dual Monitor System * _SciLexer.au3 UDF * SciTE - Lexer for console pane

Useful links: * Forum Rules * Forum etiquette *  Forum Information and FAQs * How to post code on the forum * AutoIt Online Documentation * AutoIt Online Beta Documentation * SciTE4AutoIt3 getting started * Convert text blocks to AutoIt code * Games made in Autoit * Programming related sites * Polish AutoIt Tutorial * DllCall Code Generator * 

Wiki: Expand your knowledge - AutoIt Wiki * Collection of User Defined Functions * How to use HelpFile * Good coding practices in AutoIt * 

OpenOffice/LibreOffice/XLS Related: WriterDemo.au3 * XLS/MDB from scratch with ADOX

IE Related:  * How to use IE.au3  UDF with  AutoIt v3.3.14.x * Why isn't Autoit able to click a Javascript Dialog? * Clicking javascript button with no ID * IE document >> save as MHT file * IETab Switcher (by LarsJ ) * HTML Entities * _IEquerySelectorAll() (by uncommon) * IE in TaskSchedulerIE Embedded Control Versioning (use IE9+ and HTML5 in a GUI) * PDF Related:How to get reference to PDF object embeded in IE * IE on Windows 11

I encourage you to read: * Global Vars * Best Coding Practices * Please explain code used in Help file for several File functions * OOP-like approach in AutoIt * UDF-Spec Questions *  EXAMPLE: How To Catch ConsoleWrite() output to a file or to CMD *

I also encourage you to check awesome @trancexx code:  * Create COM objects from modules without any demand on user to register anything. * Another COM object registering stuffOnHungApp handlerAvoid "AutoIt Error" message box in unknown errors  * HTML editor

winhttp.au3 related : * https://www.autoitscript.com/forum/topic/206771-winhttpau3-download-problem-youre-speaking-plain-http-to-an-ssl-enabled-server-port/

"Homo sum; humani nil a me alienum puto" - Publius Terentius Afer
"Program are meant to be read by humans and only incidentally for computers and execute" - Donald Knuth, "The Art of Computer Programming"
:naughty:  :ranting:, be  :) and       \\//_.

Anticipating Errors :  "Any program that accepts data from a user must include code to validate that data before sending it to the data store. You cannot rely on the data store, ...., or even your programming language to notify you of problems. You must check every byte entered by your users, making sure that data is the correct type for its field and that required fields are not empty."

Signature last update: 2023-04-24

Link to comment
Share on other sites

Yes there seem to be a problem when you start the first instance of chrome from WebDriver with param --remote-debugging-port=9222.  Need to investigate this a bit more.

On my side, all my (non script) calls to chrome come from a single shortcut with the parameter of  --remote-debugging-port=9222, whatever I intend to use WebDriver or not.  It is simply the way I launch chrome, so I can use a on-the-spot script, whenever I want, to extract information I find useful  (usually not intended, usually not written before).  Now launching chrome from a script with the intention of attaching it with another process seems "not normal approach".   Better use a Run or ShellExecute instead.

 

Edited by Nine
Link to comment
Share on other sites

21 hours ago, Danp2 said:

It would have been helpful if you had clearly defined your needs in your initial post.

Not following this. Where does this first tab come from and why do you want to disable it?

Maybe this will make more sense to me after you answer me above. 🤨

The first tab is the default of the orbita browser. An open source chrome browser. There is no way I can turn it off. It seems to be the default setting of profile. My idea is to count the number of opened tabs, if it has more than 1 I will close the first tab, if it is equal to 1 I will open more tabs to close it, avoid closing the whole browser. However, there is one problem that I don't know of any quick way to close other than using the controlsend command

Link to comment
Share on other sites

20 hours ago, mLipok said:

how you use Orbita browser with WebDriver UDF ?
Just simply like Chrome but pointing to different Orbita.exe  instead chrome.exe ?

People may have misunderstood what I mean. The error comes from starting the orbita browser. Appears tab cannot connect to server. However other tabs can. I don't know how to change that state in the browser so I think I can just close it to open another tab

Link to comment
Share on other sites

I do not know this browser, but you mentioned it uses Chromium? 

Try using this path: chrome://inspect/#pages
Then work out some code to see how many "inspects" there are in that page. 
If more than one, Send key command to Ctrl + w. (Or your can Ctrl + Numpad 1) or Ctrl + Numpad 2 , etc to navigate to that tab, then Ctrl + w to close it. 

Primitive solution and dangerous (using send keys)

 

****Just downloaded this browser.. and tested it.. The link does work... its exactly like Chromium.

 

Edited by Skeletor
Additional information (Ctrl + Numpad)

Kind Regards
Skeletor

"Coffee: my defense against going postal."

Microsoft Office Splash Screen | Basic Notepad Program (Beginner) | Transparent Splash Screen | Full Screen UI

Link to comment
Share on other sites

Have you checked the browsers settings page?
You might have it on "Open a New Tab page" , so change it to "Open a specific page..."
Depends on your point of operation.

chrome://settings/onStartup

 

image.thumb.png.8c8192b71b9630eb8044f610bd6ab162.png

Edited by Skeletor

Kind Regards
Skeletor

"Coffee: my defense against going postal."

Microsoft Office Splash Screen | Basic Notepad Program (Beginner) | Transparent Splash Screen | Full Screen UI

Link to comment
Share on other sites

9 hours ago, Skeletor said:

I do not know this browser, but you mentioned it uses Chromium? 

Try using this path: chrome://inspect/#pages
Then work out some code to see how many "inspects" there are in that page. 
If more than one, Send key command to Ctrl + w. (Or your can Ctrl + Numpad 1) or Ctrl + Numpad 2 , etc to navigate to that tab, then Ctrl + w to close it. 

Primitive solution and dangerous (using send keys)

 

****Just downloaded this browser.. and tested it.. The link does work... its exactly like Chromium.

 

As said. I am using this method to solve the problem. thank you ^^

Link to comment
Share on other sites

On 3/18/2022 at 6:12 AM, Nine said:

Yes there seem to be a problem when you start the first instance of chrome from WebDriver with param --remote-debugging-port=9222.  Need to investigate this a bit more.

On my side, all my (non script) calls to chrome come from a single shortcut with the parameter of  --remote-debugging-port=9222, whatever I intend to use WebDriver or not.  It is simply the way I launch chrome, so I can use a on-the-spot script, whenever I want, to extract information I find useful  (usually not intended, usually not written before).  Now launching chrome from a script with the intention of attaching it with another process seems "not normal approach".   Better use a Run or ShellExecute instead.

 

When I use multi-process to initialize 2 browsers using . --remote-debugging-port. I cannot close the browser when each process is done. Is there any way to turn it off. I've used __WD_CloseDriver($PID) and    _WD_DeleteSession($sSession). But it doesn't work

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...