【问题标题】:can I embed asterisk wildcard * in python selenium switch_to.frame()我可以在 python selenium switch_to.frame() 中嵌入星号通配符 *
【发布时间】:2021-06-15 13:52:15
【问题描述】:

我遇到了一个问题。 当我需要切换到 iframe 时,iframe 的 id 和名称一直在变化,从 iframe1~iframe9,我总是得到“NoSuchFrameException”,所以我怎样才能在 iframe 的名称中嵌入星号通配符,就像:

driver.switch_to.frame('iframe*')

【问题讨论】:

    标签: python selenium iframe


    【解决方案1】:

    如果只有一个 iframe,或者它们的顺序始终相同,则可以使用索引:

    driver.switch_to.frame(0)
    

    如果比较复杂,不如直接把名字放在switch_to.frame调用中,可以先搜索frame,然后作为变量传递;这将使您可以搜索任何内容,甚至可以遍历所有 iframe 并在 python 代码中检查您想要的那个。

    iframe = driver.find_element_by_xxx(...)
    driver.switch_to.frame(iframe)
    

    【讨论】:

    • 非常感谢,第一个对我很好。因为目标 iframe 是源 html 中的第二个 iframe,所以我使用 driver.switch_to.frame(1),效果很好。
    猜你喜欢
    • 1970-01-01
    • 2018-11-01
    • 1970-01-01
    • 2014-05-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-17
    • 1970-01-01
    相关资源
    最近更新 更多