微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Webdriver Selenium 单击 iframe 内的 <li> 元素

如何解决Webdriver Selenium 单击 iframe 内的 <li> 元素

[![在此处输入图片描述][1]][1]尝试点击并选择标记

  • 元素。

    https://i.stack.imgur.com/cIRn8.png

    #选项 - https://i.stack.imgur.com/e66m1.png

    使用

    from selenium import webdriver
    from time import sleep
    from selenium.webdriver.support.ui import Select
    from selenium.webdriver.support.ui import webdriverwait
    from selenium.webdriver.common.by import By
    from selenium.webdriver.support import expected_conditions as EC
    

    当前尝试:

    driver.switch_to.frame(driver.find_element_by_id("moduleManagement")) driver.find_element_by_class_name("ranges").find_element_by_tag_name("ul").find_element_by_tag_name("li").click()

    我需要关于如何选择的帮助

  • 元素 。我穿的地方

  • 解决方法

    我建议您使用显式等待switch to frame并与他们互动:

    点击第二个 li 标签,下面的代码应该适合你。

    wait = WebDriverWait(driver,10)
    wait.until(EC.frame_to_be_available_and_switch_to_it((By.ID,"moduleManagement")))
    wait.until(EC.element_to_be_clickable((By.CSS_SELECTOR,"div#colorbox+div[class^='daterangepicker']"))).click()
    second_li_element = wait.until(EC.visibility_of_element_located((By.XPATH,"(//li[@data-range-key])[2]")))
    second_li_element.click()
    

    进口:

    from selenium.webdriver.support.ui import WebDriverWait
    from selenium.webdriver.common.by import By
    from selenium.webdriver.support import expected_conditions as EC
    

    版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。