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

Project description

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)
	

Project details


Release history Release notifications | RSS feed

This version

0.10

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

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.

Supported by

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