selenium - Selenium Bot:Windows 的不规则切换
问题描述
一旦我单击元素More Information,就会单击该链接,然后窗口将跳回其上一个窗口并显示TimeoutException。
代码:
self.driver.window_handles
base = "https://outlook.office.com/mail/inbox/id/AAQkADQ0ZmY1YmRkLWExNDEtNGNlYS1iOTZmLTVmNzNjMzhkNjUyMgAQAJmE%2FyrhD0supMphUUSGrmQ%3D"
window_set = {self.driver.window_handles[0], self.driver.window_handles[1]}
for x in window_set:
if(base != x):
self.driver.maximize_window()
wait = WebDriverWait(self.driver, 10)
self.driver.switch_to.window(x)
frame = wait.until(EC.presence_of_element_located((By.NAME, "mainFrame")))
self.driver.switch_to.frame(frame)
element = wait.until(EC.element_to_be_clickable((By.ID, "mc-lnk-moreInfo")))
element.click()
请帮忙!
网页图像:(包含两个选项卡)
在此图像中,更多信息已被单击并已更改为更少信息
解决方案
这完成了工作!
self.driver.window_handles
wait = WebDriverWait(self.driver, 10)
base = self.driver.window_handles[0]
child = self.driver.window_handles[1]
windows = {self.driver.window_handles[0], self.driver.window_handles[1]}
for x in windows:
if(base != x):
self.driver.switch_to.window(x)
frame = wait.until(EC.presence_of_element_located((By.NAME, "mainFrame")))
self.driver.switch_to.frame(frame)
element = wait.until(EC.element_to_be_clickable((By.ID, "mc-lnk-moreInfo")))
element.click()
推荐阅读
- java - 带有 Google api 密钥的 GoogleAccountCredential
- google-cloud-platform - Google Cloud Shell:如何找到您的网络预览网址
- php - 在 laravel 中显示 404 上的索引刀片
- sql - Hive 3.1“带有本地时区的时间戳”问题
- javascript - document.write vs console.log vs innerHTML
- python-3.x - 为什么我在 Google colab 中得到“没有名为对象检测的模块”?
- python - 用烧瓶创建功能
- angular - Ionic 5 上的 LazyLoadImageModule
- python - 如何使用 python 从 NSE 图表中获取数据?
- vue.js - 渲染 Vuetify 日历时选择特定的月份或星期