Selenium with tab management in Python
Project description
Selenium Tabs: Enhanced Tab Management for Selenium
Simplify your web automation tasks with Selenium Tabs, a Python package that takes Selenium to the next level with streamlined tab management and additional features.
Installation
Install Selenium Tabs from PyPI with ease:
pip install seleniumtabs
Core Idea
In Selenium Tabs, a browser contains multiple tabs, enabling you to interact with web pages more efficiently. You can perform various actions on both Tab and Browser objects, making web automation a breeze.
Actions/Activities on Tab Objects:
- Check tab status (open/closed)
- Switch to a specific tab
- Close a tab
- Access page source, title, and headings
- Select elements and perform actions using Jquery
- Perform actions on a specific tab (e.g., click, scroll, close)
- CSS selection made easy
Actions/Activities on Browser Objects:
- Open new tabs with URLs
- Retrieve a list of open tabs
- Switch to a specific tab (first, last, or any)
- Close a tab
- Close the entire browser
Working with Driver Objects
A driver object is available on any Tab object,
allowing you to access the browser/driver object
and use Selenium methods when needed without making explicit switches to a specific tab.
Features
Selenium Tabs offers a range of features to enhance your web automation tasks:
- Effortless tab management
- Seamless tab switching
- Real-time tab status tracking
- Convenient tab closure
- Built-in functions for scrolling, clicking, waiting for conditions, finding and more
- Access to the underlying Selenium
driverobject for advanced usage - Access
drivermethods directly on tabs - Automatic User agent selection based on set browser
- Basic steps to avoid getting flagged as an automation script by websites
- Use the all-powerful
pyqueryobject access on each tab - Execute jquery functions using
.jqor.jqueryattributes
Usage
To get started with Selenium Tabs, create a Browser object and open tabs using the open method:
Browser
Create a Browser object, specifying the browser name (e.g. "Chrome" or "FireFox").
The project automatically downloads drivers.
from seleniumtabs import Browser, Tab
with Browser(name="Chrome", implicit_wait=10) as browser:
google = browser.open("https://google.com")
yahoo = browser.open("https://yahoo.com")
bing = browser.open("https://bing.com")
duck_duck = browser.open("https://duckduckgo.com/")
# Scroll on the page (example)
yahoo.scroll(times=2)
yahoo.scroll_to_bottom()
# Working with tabs
for tab in browser.tabs:
print(tab)
print(browser.tabs)
print(browser.current_tab)
# Selecting elements with JQuery (using browserjquery package)
print(yahoo.jq("a"))
# Selecting using CSS Selectors (no JQuery needed)
for item in yahoo.css(".stream-items"):
for a in item.css("a"):
print(a, a.text)
# Some `Tab` attributes/properties
print(google.title)
print(google.url)
print(google.page_source)
# Closing a tab
bing.close() # Or browser.close_tab(bing)
# Switching to a tab
yahoo.switch()
google.switch()
# Accessing the driver object
print(google.driver.title, google.title) # Should output same value
# Directly access driver methods and attributes
print(google.current_window_handle, google.tab_handle)
google.refresh()
# PyQuery
print(google.pyquery.text())
print(google.pq.size())
TODO
- Complete documentation
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file seleniumtabs-0.5.5.tar.gz.
File metadata
- Download URL: seleniumtabs-0.5.5.tar.gz
- Upload date:
- Size: 16.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.6.1 CPython/3.10.6 Darwin/21.6.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d8299fd0b5201ee64ec35683ea8d6d04a4f1a61d00b7ec49e10f71007a6907a6
|
|
| MD5 |
2713fef411da6df9ee72e5e25d00a080
|
|
| BLAKE2b-256 |
d896c7d4c5aba8b4582764ee219f68b2cf453037bfeb3079683db92731ef96d2
|
File details
Details for the file seleniumtabs-0.5.5-py3-none-any.whl.
File metadata
- Download URL: seleniumtabs-0.5.5-py3-none-any.whl
- Upload date:
- Size: 19.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.6.1 CPython/3.10.6 Darwin/21.6.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
49e3c0ebc1ab2c0a0bebde4f24be040d48028123bb01e1d6992d506a7df8d531
|
|
| MD5 |
b5673704159018b0e253aaf24444073c
|
|
| BLAKE2b-256 |
ac2ddba8b582e259b0971000db16c1ad26684e997a99dcfe30fc55479aa0b0a5
|