Skip to main content

Calculates the absolute screen coordinates of any Selenium element so that you can click on them with every basic automation tool

# Tested with:
# https://github.com/ultrafunkamsterdam/undetected-chromedriver
# Python 3.9.13
# Windows 10

$pip install a-selenium-absolute-screencoords

You need only those 2 functions:
abscoord = get_absolute_screen_coords_of_element(
    driver,x,y,)
coords_clicker.left_click_xy_natural(*abscoord) # Has more options, check it out: https://github.com/hansalemaos/mousekey


# Here is an example:

from selenium.webdriver.support import expected_conditions
from selenium.webdriver.support.wait import WebDriverWait
from a_selenium2df import get_df
from selenium.webdriver.common.by import By
from a_selenium_kill import add_kill_selenium
from time import sleep
from auto_download_undetected_chromedriver import download_undetected_chromedriver
import undetected_chromedriver as uc
from a_selenium_absolute_screencoords import (
    get_absolute_screen_coords_of_element,
    coords_clicker,
)


@add_kill_selenium  # https://github.com/hansalemaos/a_selenium_kill
def get_driver():
    folderchromedriver = "f:\\seleniumdriver2"
    path = download_undetected_chromedriver(
        folder_path_for_exe=folderchromedriver, undetected=True
    )  # https://github.com/hansalemaos/auto_download_undetected_chromedriver
    driver = uc.Chrome(driver_executable_path=path)
    return driver


if __name__ == "__main__":
    folderchromedriver = "f:\\seleniumdriver3"
    path = download_undetected_chromedriver(
        folder_path_for_exe=folderchromedriver, undetected=True
    )
    driver = get_driver()
    driver.get(
        r"https://github.com/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E&source=header-repo"
    )
    sleep(2)
    df = get_df(
        driver,
        By,
        WebDriverWait,
        expected_conditions,
        queryselector="a",
        with_methods=False,
    )  # https://github.com/hansalemaos/a_selenium2df
    abscoord = get_absolute_screen_coords_of_element(
        driver,
        df.aa_offsetLeft.iloc[2] + df.aa_offsetWidth.iloc[2] // 2,
        df.aa_offsetTop.iloc[2],
    )
    coords_clicker.left_click_xy_natural(*abscoord)
	

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

a_selenium_absolute_screencoords-0.10.tar.gz (4.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

File details

Details for the file a_selenium_absolute_screencoords-0.10.tar.gz.

File metadata

File hashes

Hashes for a_selenium_absolute_screencoords-0.10.tar.gz
Algorithm Hash digest
SHA256 b1366dcf875b2a3f75d2ae59997baa30e099f645944cfad4fcb3d3bb66ad1e2c
MD5 beb7758495285dbac314ab0c392a3b76
BLAKE2b-256 10a001e26cf271cfd1f9d823d6f32225998fa70e9f20b960349f384e4772e486

See more details on using hashes here.

File details

Details for the file a_selenium_absolute_screencoords-0.10-py3-none-any.whl.

File metadata

File hashes

Hashes for a_selenium_absolute_screencoords-0.10-py3-none-any.whl
Algorithm Hash digest
SHA256 8151a6392f6e7ca9a528914ed527f48a9b37857d6152d6046439fdb44e1c6f22
MD5 d398a3f298d8d5dd23f3d7ec7aa87e41
BLAKE2b-256 29048e1d47ca3600537bc79de6cb0e942be1da2874a7cb75476cd1650c405016

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.10

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page