JavaScript/Selenium - 滚动到 ul 内的 li

标签 javascript selenium

我有一个 html 为 list - <ul><li><a></a></li>... 的下拉列表

此下拉列表是可滚动的,我需要使 Selenium 滚动到具有某些 <a>id,因为除非它可见,否则我无法单击它。

使用 JavaScript 可能是可能的,但不知道如何让它工作。

clickable_a_id - id of <a> element which I want to scroll to

self.driver.execute_script(
    # 'arguments[0].scrollTop = document.getElementById("{}").offsetTop + 5 '.format(clickable_a_id),
    'document.getElementById("{}")[0].scrollIntoView()'.format(clickable_a_id),UL_ELEMENT)

它不起作用。你知道该怎么做吗?

最佳答案

您尝试过使用操作吗?

    el = driver.find_element_by_xpath("")
    webdriver.ActionChains(driver).move_to_element(el).perform()

您可以使用

进一步滚动
    driver.execute_script("window.scrollTo(0,20)")

关于JavaScript/Selenium - 滚动到 ul 内的 li,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47930289/

相关文章:

javascript - ImmutableJS - 只更新对象中的一个键值

javascript - Bootstrap 3 - 将页面刷新到特定选项卡

python - Selenium 网络驱动程序 : How to Download a PDF File with Python?

Alpine Docker 镜像中带有 Firefox-ESR 的 Selenium

javascript - 删除最后一个追加

javascript - 我怎样才能加速一个已经在移动的物体?

php - Ajax 请求结果的 URL

java - 我怎样才能识别这个元素

javascript - Selenium v​​ia Java - 单击复选框与手动单击不同的响应

selenium - 如何在webdriver中获取div内的属性值