首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >改为iframe

问改为iframe
EN

Stack Overflow用户
提问于 2022-02-02 17:32:37
回答 1查看 66关注 0票数 0

在gmx.net上,我想点击电子邮件中的超链接。

但是超链接包含两个iframes。

我该怎么换呢?

我的方法:

代码语言:javascript
复制
WebDriverWait(driver, 10).until(expected_conditions.frame_to_be_available_and_switch_to_it((By.XPATH, '//iframe[@class="app-stack_children--active"]')))

WebDriverWait(driver, 10).until(expected_conditions.frame_to_be_available_and_switch_to_it((By.XPATH, '//iframe[@class="js-box-flex need-overlay"]')))

​

​

​

​

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-02-02 18:56:03

正如我所怀疑的,你的XPath是不正确的。

你要么用

代码语言:javascript
复制
WebDriverWait(driver, 10).until(expected_conditions.frame_to_be_available_and_switch_to_it((By.XPATH, '//iframe[@class='app-stack__children l-vertical app-stack__children--active']')))

或

代码语言:javascript
复制
WebDriverWait(driver, 10).until(expected_conditions.frame_to_be_available_and_switch_to_it((By.XPATH, '//iframe[contains(@class, 'app-stack_children--active']')))

显然,第一种选择比第二种更好。contains()总是有可能匹配多个元素。如果使用平等,则不太可能。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70960169

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档