Как можно переместить мышку с помощью selenium
Есть определенный сайт, где надо кликнуть на последнюю звездочку элемента.На странице есть скрипт который анализирует положение мышки и выводит оценку человеку.С помощью selenium click() оно не работает скорее всего что нужна реальная мышка.Как можно нажать на этот элемент чтобы он выставил нужную оценку?
если надо могу приложить скрипт обработки мышки и выставлении оценки с сайта.На сайт увы вы зайти не сможете
<div class="col col-auto">
<div data-v-fde73a0c="" class="vue-star-rating" value="0">
<div data-v-fde73a0c="" class="sr-only"><span data-v-fde73a0c="">Rated 0 stars out of 5</span></div>
<div data-v-fde73a0c="" class="vue-star-rating"><span data-v-fde73a0c="" class="vue-star-rating-pointer vue-star-rating-star" style="margin-right: 0px;"><svg data-v-ef4bc576="" data-v-fde73a0c="" height="30" width="30" viewBox="0 0 30 30" class="vue-star-rating-star" step="100"><linearGradient data-v-ef4bc576="" id="onct89" x1="0" x2="100%" y1="0" y2="0"><stop data-v-ef4bc576="" offset="0%" stop-color="#d8d8d8" stop-opacity="1"></stop><stop data-v-ef4bc576="" offset="0%" stop-color="#d8d8d8" stop-opacity="1"></stop></linearGradient><filter data-v-ef4bc576="" id="9ldi8u" height="130%" width="130%" filterUnits="userSpaceOnUse"><feGaussianBlur data-v-ef4bc576="" stdDeviation="0" result="coloredBlur"></feGaussianBlur><feMerge data-v-ef4bc576=""><feMergeNode data-v-ef4bc576="" in="coloredBlur"></feMergeNode><feMergeNode data-v-ef4bc576="" in="SourceGraphic"></feMergeNode></feMerge></filter><!----><polygon data-v-ef4bc576="" points="13.636363636363637,1.5151515151515151,4.545454545454545,30,27.272727272727273,11.818181818181818,0,11.818181818181818,22.727272727272727,30" fill="url(#onct89)" stroke="#999" stroke-width="0" stroke-linejoin="miter"></polygon><polygon data-v-ef4bc576="" points="13.636363636363637,1.5151515151515151,4.545454545454545,30,27.272727272727273,11.818181818181818,0,11.818181818181818,22.727272727272727,30" fill="url(#onct89)"></polygon></svg></span>
<span
data-v-fde73a0c="" class="vue-star-rating-pointer vue-star-rating-star" style="margin-right: 0px;"><svg data-v-ef4bc576="" data-v-fde73a0c="" height="30" width="30" viewBox="0 0 30 30" class="vue-star-rating-star" step="100"><linearGradient data-v-ef4bc576="" id="9ooro3" x1="0" x2="100%" y1="0" y2="0"><stop data-v-ef4bc576="" offset="0%" stop-color="#d8d8d8" stop-opacity="1"></stop><stop data-v-ef4bc576="" offset="0%" stop-color="#d8d8d8" stop-opacity="1"></stop></linearGradient><filter data-v-ef4bc576="" id="109l8s" height="130%" width="130%" filterUnits="userSpaceOnUse"><feGaussianBlur data-v-ef4bc576="" stdDeviation="0" result="coloredBlur"></feGaussianBlur><feMerge data-v-ef4bc576=""><feMergeNode data-v-ef4bc576="" in="coloredBlur"></feMergeNode><feMergeNode data-v-ef4bc576="" in="SourceGraphic"></feMergeNode></feMerge></filter><!----><polygon data-v-ef4bc576="" points="13.636363636363637,1.5151515151515151,4.545454545454545,30,27.272727272727273,11.818181818181818,0,11.818181818181818,22.727272727272727,30" fill="url(#9ooro3)" stroke="#999" stroke-width="0" stroke-linejoin="miter"></polygon><polygon data-v-ef4bc576="" points="13.636363636363637,1.5151515151515151,4.545454545454545,30,27.272727272727273,11.818181818181818,0,11.818181818181818,22.727272727272727,30" fill="url(#9ooro3)"></polygon></svg></span>
<span
data-v-fde73a0c="" class="vue-star-rating-pointer vue-star-rating-star" style="margin-right: 0px;"><svg data-v-ef4bc576="" data-v-fde73a0c="" height="30" width="30" viewBox="0 0 30 30" class="vue-star-rating-star" step="100"><linearGradient data-v-ef4bc576="" id="lcj37e" x1="0" x2="100%" y1="0" y2="0"><stop data-v-ef4bc576="" offset="0%" stop-color="#d8d8d8" stop-opacity="1"></stop><stop data-v-ef4bc576="" offset="0%" stop-color="#d8d8d8" stop-opacity="1"></stop></linearGradient><filter data-v-ef4bc576="" id="rvnbyi" height="130%" width="130%" filterUnits="userSpaceOnUse"><feGaussianBlur data-v-ef4bc576="" stdDeviation="0" result="coloredBlur"></feGaussianBlur><feMerge data-v-ef4bc576=""><feMergeNode data-v-ef4bc576="" in="coloredBlur"></feMergeNode><feMergeNode data-v-ef4bc576="" in="SourceGraphic"></feMergeNode></feMerge></filter><!----><polygon data-v-ef4bc576="" points="13.636363636363637,1.5151515151515151,4.545454545454545,30,27.272727272727273,11.818181818181818,0,11.818181818181818,22.727272727272727,30" fill="url(#lcj37e)" stroke="#999" stroke-width="0" stroke-linejoin="miter"></polygon><polygon data-v-ef4bc576="" points="13.636363636363637,1.5151515151515151,4.545454545454545,30,27.272727272727273,11.818181818181818,0,11.818181818181818,22.727272727272727,30" fill="url(#lcj37e)"></polygon></svg></span>
<span
data-v-fde73a0c="" class="vue-star-rating-pointer vue-star-rating-star" style="margin-right: 0px;"><svg data-v-ef4bc576="" data-v-fde73a0c="" height="30" width="30" viewBox="0 0 30 30" class="vue-star-rating-star" step="100"><linearGradient data-v-ef4bc576="" id="03moqk" x1="0" x2="100%" y1="0" y2="0"><stop data-v-ef4bc576="" offset="0%" stop-color="#d8d8d8" stop-opacity="1"></stop><stop data-v-ef4bc576="" offset="0%" stop-color="#d8d8d8" stop-opacity="1"></stop></linearGradient><filter data-v-ef4bc576="" id="q9f39n" height="130%" width="130%" filterUnits="userSpaceOnUse"><feGaussianBlur data-v-ef4bc576="" stdDeviation="0" result="coloredBlur"></feGaussianBlur><feMerge data-v-ef4bc576=""><feMergeNode data-v-ef4bc576="" in="coloredBlur"></feMergeNode><feMergeNode data-v-ef4bc576="" in="SourceGraphic"></feMergeNode></feMerge></filter><!----><polygon data-v-ef4bc576="" points="13.636363636363637,1.5151515151515151,4.545454545454545,30,27.272727272727273,11.818181818181818,0,11.818181818181818,22.727272727272727,30" fill="url(#03moqk)" stroke="#999" stroke-width="0" stroke-linejoin="miter"></polygon><polygon data-v-ef4bc576="" points="13.636363636363637,1.5151515151515151,4.545454545454545,30,27.272727272727273,11.818181818181818,0,11.818181818181818,22.727272727272727,30" fill="url(#03moqk)"></polygon></svg></span>
<span
data-v-fde73a0c="" class="vue-star-rating-pointer vue-star-rating-star" style="margin-right: 0px;"><svg data-v-ef4bc576="" data-v-fde73a0c="" height="30" width="30" viewBox="0 0 30 30" class="vue-star-rating-star" step="100"><linearGradient data-v-ef4bc576="" id="jd9uv6" x1="0" x2="100%" y1="0" y2="0"><stop data-v-ef4bc576="" offset="0%" stop-color="#d8d8d8" stop-opacity="1"></stop><stop data-v-ef4bc576="" offset="0%" stop-color="#d8d8d8" stop-opacity="1"></stop></linearGradient><filter data-v-ef4bc576="" id="ox545l" height="130%" width="130%" filterUnits="userSpaceOnUse"><feGaussianBlur data-v-ef4bc576="" stdDeviation="0" result="coloredBlur"></feGaussianBlur><feMerge data-v-ef4bc576=""><feMergeNode data-v-ef4bc576="" in="coloredBlur"></feMergeNode><feMergeNode data-v-ef4bc576="" in="SourceGraphic"></feMergeNode></feMerge></filter><!----><polygon data-v-ef4bc576="" points="13.636363636363637,1.5151515151515151,4.545454545454545,30,27.272727272727273,11.818181818181818,0,11.818181818181818,22.727272727272727,30" fill="url(#jd9uv6)" stroke="#999" stroke-width="0" stroke-linejoin="miter"></polygon><polygon data-v-ef4bc576="" points="13.636363636363637,1.5151515151515151,4.545454545454545,30,27.272727272727273,11.818181818181818,0,11.818181818181818,22.727272727272727,30" fill="url(#jd9uv6)"></polygon></svg></span>
<!---->
</div>
</div>
</div>
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.firefox.service import Service as FirefoxService
from selenium.webdriver.firefox.options import Options
import time
gecko_driver_path = (r"C:\report\geckodriver.exe")
firefox_binary_path = r'C:\Program Files\Mozilla Firefox\firefox.exe'
firefox_options = Options()
firefox_options.binary_location = firefox_binary_path
firefox_service = FirefoxService(executable_path=gecko_driver_path)
driver = webdriver.Firefox(service=firefox_service, options=firefox_options)
action = webdriver.ActionChains(driver)
driver.get("сайт")
element_xpath = f"/html/body/div/div/div[3]/div/div/div[2]/form/div[4]/div[2]/div[2]/div/div[2]/span[5]s/svg"
element = WebDriverWait(driver, 10).until(
EC.presence_of_element_located((By.XPATH, element_xpath))) # нажатие kolighestfo
#action.move_to_element(element)
#action.perform()
element.click()
Ответы (1 шт):
Автор решения: adeltut
→ Ссылка
Сделал немного просто но зато работает,вначале открыл сайт на полный экранзаписал координаты, добавил в celenium строчку fullscreen_window() и тыкаю мышкой через pyautogui
