【问题标题】:How to scroll a modal box in Selenium Python?如何在 Selenium Python 中滚动模态框?
【发布时间】:2021-03-12 19:55:56
【问题描述】:

当我点击链接接受条款和条件时,会弹出一个模式框。 我需要向下滚动模式弹出窗口,启用“接受”按钮,然后单击“接受”。

我无法滚动模式框。

我试过了:

context.driver.execute_script("arguments[0].scrollIntoView(true);", ars)

其中 ars 是弹出窗口中的最后一个元素。这显示了模式中的最后一个元素,而无需向下滚动。

我也试过了:

actions = ActionChains(context.driver)
actions.move_to_element(ars)

这具有相同的行为:显示模式中的最后一个元素而不向下滚动。

非常感谢任何其他向下滚动的方法。 TIA

【问题讨论】:

  • 使用基于 HTML 的相关文本更新问题。

标签: javascript jquery python-3.x selenium selenium-webdriver


【解决方案1】:

首先尝试找到包含模态框名称的新 iframe。 modal_box = driver.find_element_by_xpath('/html/body/div[2]/div.....') driver.execute_script("arguments[0].scrollTop = arguments[0].scrollHeight", modal_box) 确保其滚动整个高度。然后尝试找到接受按钮的可见性

【讨论】:

  • 感谢 Karthik 的回答!该页面没有可切换到的框架。但我可以找到模态框元素。使用该元素,我尝试了一些滚动选项,但没有奏效。
  • 我试过 driver.execute_script("arguments[0].scrollTop = arguments[0].scrollHeight", modal_box) driver.execute_script("arguments[0].scrollHeight", modal_box) 你能建议任何其他滚动选项。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-08-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-10-25
  • 1970-01-01
  • 2018-06-08
相关资源
最近更新 更多