Я хочу вместо Selenium Actions использовать PyAutoGui.
В прошлом у меня была та же проблема с Java, решение было добавить смещение по осям "Y" из-за интерфейса браузера и панели запуска окон. Теперь у меня также есть смещение по осям "X", хотя я использую хром. Также каждый элемент имеет свое смещение.
def move_mouse(xpath) :
elem = driver.find_element_by_xpath(xpath)
if elem.is_displayed() :
x = elem.location.get('x')
y = elem.location.get('y')
print(x)
print(y)
pyautogui.moveTo(x,y,2)
chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument("--disable-infobars")
driver = webdriver.Chrome(chrome_options=chrome_options)
driver.get("https://www.python.org/")
driver.maximize_window()
print("Window Size : "+ str(driver.get_window_size()))
time.sleep(2)
print("Window Position : "+str(driver.get_window_position()))
move_mouse('//*[@id="downloads"]/a')
Вот вывод:
Window Size : {'width':1552, 'height': 840}
У меня разрешение экрана 1920х1080, полноэкранный режим дает те же результаты
Window Position : {'x' : -8, 'y': -8}
Я не могу понять, почему позиция окна минус