[PYTHON] Flash Selenium Unterstützung

Zweck

Problem

Lösung

Verfahren

  1. Holen Sie sich den Screenshot des Bildschirms mit Selen.
  2. Ermitteln Sie die Zielkoordinatenposition (x, y) aus dem Referenzbild, das zuvor mit Template Matcing mit OpenCV erstellt wurde.
  3. Geben Sie das Referenz-HTML-Element an (diesmal das Firmenlogo).
  4. Vergleichen Sie den Abstand vom angegebenen HTML-Element mit der Zielkoordinatenposition, bestimmen Sie den Versatzwert und führen Sie ihn mit der vorherigen Methode aus.

kancolle03.png

Implementierung

click.py


from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains

class Browser(object):
    ...

    def click(self, element, x, y):
        """
            element : Target HTML Element
            x : offset_x
            y : offset_y
        """
        self.driver = webdriver.Firefox()
        target = self.driver.find_element_by_id(element)
        off_x = int(target.size["width"]) / 2
        off_y = int(target.size["height"]) / 2
        actions = ActionChains(self.driver)
        actions.move_to_element(target)
        actions.move_by_offset(x - off_x, y - off_y)
        actions.click()
        actions.move_to_element(target)
        actions.perform()

    ...

Fazit

Recommended Posts

Flash Selenium Unterstützung
Selen