gpt4 book ai didi

html - 切换到以前的 IFRAME Selenium Python

转载 作者:行者123 更新时间:2023-11-27 23:35:28 25 4
gpt4 key购买 nike

我正在尝试切换到上一帧。

在我的代码中

  1. 我切换到一个框架(BRCT1Frame)
  2. 单击打开新窗口的按钮
  3. 切换到新窗口
  4. 切换到窗口内的框架
  5. 插入数据并保存关闭窗口和框架

但是,我需要切换到 BRVT1Frame 之前的框架。

这是我的代码:

BRT1Frame=driver.switch_to_frame(driver.find_element_by_tag_name("iframe"))
buttons=driver.find_elements_by_css_selector("button")
for button in buttons:
if button.text.strip()=="Create Community":
button.click()

#A new pop up window causes me to switch windows
for handle in driver.window_handles:
BRT=driver.switch_to_window(handle)
print(BRT)

#then I switch frames
driver.switch_to_frame(driver.find_element_by_class_name("FormDialogIFrame"))
driver.find_element_by_id("CommunityFormCommunityNameTextBox").send_keys("1st MEB STAFFEX")

save=driver.find_element_by_id("CommunityFormSaveButton").click()
#that popup closes now I have to switch to another frame

我试图切换到代码的框架:

<iframe role="presentation" 
class="x-component x-window-item x-component-default"
src="/brvt?lang=en_US&amp;owf=true&amp;themeName=a_default&amp;
themeContrast=standard&amp;themeFontSize=12"
name="{&quot;id&quot;:&quot;778a1259-bc80-602e-c0ad-16a3f9220516&quot;,&quot;containerVersion&quot;:&quot;7-GA&quot;,&quot;webContextPath&quot;:&quot;/owf&quot;,&quot;preferenceLocation&quot;:&quot;https://www.url,com;,&quot;relayUrl&quot;:&quot;https://url.com/55js/even/rpc_relay.uncompressed.html&quot;,&quot;lang&quot;:&quot;en_US&quot;,&quot;currentTheme&quot;:{&quot;themeName&quot;:&quot;a_default&quot;,&quot;themeContrast&quot;:&quot;standard&quot;,&quot;themeFontSize&quot;:12},&quot;55f&quot;:true,&quot;layout&quot;:&quot;desktop&quot;,&quot;url&quot;:&quot;/brvt&quot;,&quot;guid&quot;:&quot;260f0022-66de-a78b-3ce8-8de63a3bdbec&quot;,&quot;version&quot;:1,&quot;locked&quot;:false}"
id="{&quot;id&quot;:&quot;778a1259-bc80-602e-c0ad-16a3f9220516&quot;}"
frameborder="0"></iframe>

我试过这样做:

driver.switch_to_frame(driver.find_element_by_tag_name("iframe"))

这行得通,但是当我尝试单击框架内的下拉菜单时:

driver.find_element_by_css_selector("#OYk3vd6NKj1jbrnew > td.sub_item_text").click()

我也试过:

 driver.switch_to_frame(driver.find_element_by_id("{&quot;id&quot;:&quot;778a1259-bc80-602e-c0ad-16a3f9220516&quot;}")

我收到一条错误消息,指出它无法定位该元素。有什么建议吗?

最佳答案

如果您只想定位您指定的确切帧,请尝试:

required_frame = driver.find_element_by_xpath('//iframe[@role="presentation"]')
driver.switch_to_frame(required_frame)

或更具体:

required_frame = driver.find_element_by_xpath('//iframe[@role="presentation"][@class="x-component x-window-item x-component-default"]')
driver.switch_to_frame(required_frame)

这个建议有用吗?

关于html - 切换到以前的 IFRAME Selenium Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33998910/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com