[英]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 網站中鼠標功能的更多信息:
我試圖以這種方式解決它,感謝您的幫助。
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.