I’m using selenium with python and I have a problem: I want to get pixel color of x y position on canvas.
Does Selenium have some color picker or something similar?
I tried get color of a pixel with getCssValue but it doesn’t work because it is canvas.
This is an example what I’m trying to achieve
from selenium import webdriver from selenium.webdriver.chrome.options import Options from selenium.webdriver.common.action_chains import ActionChains from selenium.webdriver.common.keys import Keys import time chrome_options = Options() prefs = {'profile.default_content_setting_values': {'images': 1, 'plugins': 2, 'geolocation': 2, 'notifications': 2, 'auto_select_certificate': 2, 'fullscreen': 2, 'mouselock': 2, 'mixed_script': 2, 'media_stream': 2, 'media_stream_mic': 2, 'media_stream_camera': 2, 'protocol_handlers': 2, 'ppapi_broker': 2, 'automatic_downloads': 2, 'midi_sysex': 2, 'push_messaging': 2, 'ssl_cert_decisions': 2, 'metro_switch_to_desktop': 2, 'protected_media_identifier': 2, 'app_banner': 2, 'site_engagement': 2, 'durable_storage': 2}} chrome_options.add_experimental_option('prefs', prefs) chrome_options.add_argument("disable-infobars") chrome_options.add_argument("disable-gpu") driver = webdriver.Chrome(options=chrome_options, executable_path=r"C:geckochromedriver.exe") driver.get("https://drawisland.com/") act = ActionChains(driver) canvas = driver.find_element_by_tag_name("canvas") act.move_to_element_with_offset(canvas,100,100).GetColor().perform()
Advertisement
Answer
This is apparently not possible directly with selenium.