如何使用 python selenium 拖放元素
How to drag and drop the element using python selenium
这里我需要自动化并将门槛降低到 50%,我应该让它进入中间。
Slider Image
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 硒。
Need Output As
即圆形按钮减半。
您可以将 selenium 自动化与 pyautogui 相结合,这样您就可以控制鼠标移动,如拖动等。
您可以在 link:
中阅读有关 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
这里我需要自动化并将门槛降低到 50%,我应该让它进入中间。
Slider Image
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 硒。
Need Output As
即圆形按钮减半。
您可以将 selenium 自动化与 pyautogui 相结合,这样您就可以控制鼠标移动,如拖动等。
您可以在 link:
中阅读有关 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