zoukankan      html  css  js  c++  java
  • Selenium操作元素问题:Element <div class="ant-select-selection__placeholder"> is not reachable by keyboard

    1、问题:使用selenium进行元素的抓取,无法进行自动选择。

    抓取的页面截图:

    页面点击效果:

     手动操作:使用鼠标点击该栏位,自动下拉展示可选项。使用元素定位,却无法进行定位到对应的选项内容。

    解决思路:模拟键盘操作,鼠标点击展示可选项,通过上下键和ENTER键进行选择。

    2、代码展示:

    # 证件有效期
    self.driver.execute_script('window.scrollBy(0,250)')  # 滑动页面滚动
    element =self.driver.find_element_by_xpath('//[@id="countValidTime"]/div/div/div') # 定位选择栏位
    element.click() # 模拟鼠标点击
    sleep(2)
    element.send_keys(Keys.ENTER)

    最终结果:

     运行结果显示:selenium.common.exceptions.ElementNotInteractableException: Message: Element <div class="ant-select-selection__placeholder"> is not reachable by keyboard

    3、最终解决方案,代码修改

     1 # 证件有效期
     2 self.driver.execute_script('window.scrollBy(0,250)')  # 滑动页面滚动
     3 element =self.driver.find_element_by_xpath('//[@id="countValidTime"]/div/div/div') # 定位选择栏位
     4 # self.driver.implicitly_wait(5)
     5 element.click() # 模拟鼠标点击
     6 # sleep(2)
     7 self.driver.implicitly_wait(5)
     8 # element.submit()
     9 # sleep(1)
    10 # element.send_keys(Keys.ENTER)
    11 self.driver.switch_to.active_element.send_keys(Keys.ENTER)

    运行后,完美的模拟键盘操作。

  • 相关阅读:
    【转】Quartz Cron 触发器 Cron Expression 的格式
    [转]MYSQL同时LEFT JOIN 多个表一例
    collapse用法
    flavor用法
    horny
    ever since用法
    be headed for用法
    Lemme用法
    scary用法
    feel like用法
  • 原文地址:https://www.cnblogs.com/ruichow/p/12021060.html
Copyright © 2011-2022 走看看