【问题标题】:How to drag and drop the element using python selenium如何使用 python selenium 拖放元素
【发布时间】:2021-11-28 05:56:44
【问题描述】:

在这里我需要自动化并将栏减少到 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 selenium。

Need Output As

即圆形按钮减半。

【问题讨论】:

  • 你有任何示例网站吗?
  • 不,我应该为你提供什么,请告诉我
  • 可以使用此滑块的任何网站或代码
  • 请检查我已经更新了整个滑块的 HTML

标签: python selenium automation


【解决方案1】:

您可以将 selenium 自动化与 pyautogui 相结合,这样您就可以控制鼠标移动,例如拖动等。

您可以在此链接中阅读有关 PyAutoGUI 网站中鼠标功能的更多信息:

Mouse Control Fucntions - PyAutoGUI

【讨论】:

  • 我无法找到完美的结果输出..
【解决方案2】:

我试着用这种方法解决了,谢谢你的帮助。

ActionChains(driver).click_and_hold(slider_element).move_by_offset(-100, 0).release().perform()

【讨论】:

    【解决方案3】:
    #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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-09-22
      • 1970-01-01
      • 1970-01-01
      • 2015-05-02
      • 2020-10-28
      • 2013-06-07
      相关资源
      最近更新 更多