python - 如何使用 Python 使用 Selenium 循环点击?
问题描述
我正在尝试使用 Selenium 循环点击,第一次点击正在工作,但第二次出现以下错误:
selenium.common.exceptions.ElementNotInteractableException: Message: Element could not be scrolled into view
这是代码:
def send_keys_dropdown(self,url):
bot = self.bot
bot.get(url)
elements = bot.find_elements_by_xpath("//a[@data-tag='globalize']")
for elem in elements:
class_of_element = elem.get_attribute("class")
if class_of_element == 'CsLinkButton':
elem.click()
time.sleep(5)
# close icon
bot.find_element_by_xpath("//a[@data-tag='cmdCancel']").click()
我如何在循环中单击这些元素?谢谢!
解决方案
似乎在单击操作后执行的元素可能在向下或向上滚动窗口形式内。以下可能会帮助您,请通过它。
执行单击操作后添加以下行。
((JavascriptExecutor) 驱动程序).executeScript("arguments[0].scrollIntoView(true);", elem); 在这里,“elem”是点击按钮的 web 元素。
推荐阅读
- python - 如何在日期中有间隔,以便日期不重叠?
- javascript - POST 请求不起作用 - 发送空对象 [NodeJS]
- python - 如何将标准输出从 subprocess.Popen 流式传输到文件?
- javascript - 我的状态没有使用 React Hooks 更新
- python - GitHub sphinx-action 找不到目标 Python 模块并构建一个空的 sphinx doc
- angular - 如何仅在 finaly 块中返回值覆盖 firebase 登录
- sql - 如何从两个表中找到匹配的数据?
- ios - RCTConvert+AirMap.h 文件在 IOS 上的 React Native 上找不到错误
- sql - 使用 Query 基于特定事件值对表进行透视
- smartcard - Native智能卡和Java智能卡的区别