簡體   English   中英

如何使用 python selenium 拖放元素

[英]How to drag and drop the element using python selenium

在這里,我需要自動化並將欄減少到 50%,也就是說我應該讓它移動到中間。

滑塊圖像

整個滑塊的 HTML

<div class="LayerCategoryDetailSidebar_opacityBox__3Lw7t"><div class="LayerCategoryDetailSidebar_opacityRow__hKVms"><div class="rc-slider ghSlider"><div class="rc-slider-rail"></div><div class="rc-slider-track" style="left: 0%; right: auto; width: 48%;"></div><div class="rc-slider-step"></div><div tabindex="0" class="rc-slider-handle" role="slider" aria-valuemin="0" aria-valuemax="1" aria-valuenow="0.48" aria-disabled="false" style="left: 48%; right: auto; transform: translateX(-50%);"></div><div class="rc-slider-mark"></div></div><div class="LayerCategoryDetailSidebar_categorySwitch__HfcuU" style="position: relative; display: inline-block; text-align: left; opacity: 1; direction: ltr; border-radius: 12px; transition: opacity 0.25s ease 0s; touch-action: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); user-select: none;"><div class="react-switch-bg" style="height: 24px; width: 40px; margin: 0px; position: relative; background: rgb(243, 119, 53); border-radius: 12px; cursor: pointer; transition: background 0.25s ease 0s;"></div><div class="react-switch-handle" style="height: 22px; width: 22px; background: rgb(255, 255, 255); display: inline-block; cursor: pointer; border-radius: 50%; position: absolute; transform: translateX(17px); top: 1px; outline: 0px; border: 0px; transition: background-color 0.25s ease 0s, transform 0.25s ease 0s, box-shadow 0.15s ease 0s;"></div><input type="checkbox" role="switch" checked="" style="border: 0px; clip: rect(0px, 0px, 0px, 0px); height: 1px; margin: -1px; overflow: hidden; padding: 0px; position: absolute; width: 1px;"></div></div><div class="LayerCategoryDetailSidebar_opacityInfo__1bBk3">Transparency</div></div>

請幫助我使用python selenium。

需要輸出為

即圓形按鈕減半。

您可以將 selenium 自動化與 pyautogui 結合起來,這樣您就可以控制鼠標移動,例如拖動等。

您可以在此鏈接中閱讀有關 PyAutoGUI 網站中鼠標功能的更多信息:

鼠標控制功能 - PyAutoGUI

我試圖以這種方式解決它,感謝您的幫助。

ActionChains(driver).click_and_hold(slider_element).move_by_offset(-100, 0).release().perform()
#Find slider elements
slider_container = driver.find_element(By.CSS_SELECTOR, "#nc_1__scale_text > span")
slider = driver.find_element(By.CSS_SELECTOR, "#nc_1_n1z")
actions = ActionChains(driver)
#Perform sliding action
actions.move_to_element(slider).click_and_hold().move_by_offset(slider_container.size['width'], 0).release().perform()

#most sliders are inside iframes(popups),make sure you switch driver to that iframe before proceeding above

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM