如何控制硒的作用链

2024-04-26 19:12:00 发布

您现在位置:Python中文网/ 问答频道 /正文

我想用selenium滑动一个条

这是我的密码:

from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains

browser = webdriver.Chrome()
url = 'https://verify.meituan.com/v2/web/general_page?action=spiderindefence&requestCode=0a64ed1a2b904b3d841c99c253cc639e&platform=1&adaptor=auto&succCallbackUrl=https%3A%2F%2Foptimus-mtsi.meituan.com%2Foptimus%2FverifyResult%3ForiginUrl%3Dhttp%253A%252F%252Fm.dianping.com%252FPennsylvania%252Fch10%252Fd1%253Ffrom%253Dm_nav_1_meishi&theme=dianping'
browser.get(url)
knob = browser.find_element_by_xpath("//div[@id='yodaBoxWrapper']//div[@id='yodaMoveingBar']")
ActionChains(browser).click_and_hold(knob).perform()
tracks = [1, 2, 16, 128, 20, 18, 15]
for x in tracks:
        print(x)
        ActionChains(browser).move_by_offset(x, 0).perform() 
ActionChains(browser).pause(0).release().perform()

我尝试了不同的方法,但都失败了

我发现当滑动偏移时,杆会停止很短的时间,即滑动不平滑

如何解决这个问题

我可以更改每个偏移的时间吗

谢谢


Tags: fromimportdivbrowseridurlbyselenium
1条回答
网友
1楼 · 发布于 2024-04-26 19:12:00

考虑将所有操作链接为一个执行:

knob = browser.find_element_by_xpath("//div[@id='yodaBoxWrapper']//div[@id='yodaMoveingBar']")

# Create a dynamic action chain – we'll add to this
my_actions = ActionChains(browser).click_and_hold(knob).pause(0.01)
tracks = [1, 2, 16, 128, 20, 18, 15]
for x in tracks:
    print(x)
    my_actions.move_by_offset(x, 0).pause(0.01)

# At the end, release the knob
my_actions.release()

# Finally, perform
my_actions.perform()

相关问题 更多 >