python切换前端的iframe页面_如何切换到iframe窗口?

本文讲述了开发者在尝试通过WebDriver操作iframe弹出窗口时遇到的问题,包括定位元素、切换frame并执行点击操作的过程,以及解决元素聚焦问题的技巧和代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我正在尝试单击一个iframe弹出窗口,但无法使其成为焦点。在

这是弹出窗口和我要单击的按钮:

VzkOX.png

以下是我目前掌握的代码:

搜索=driver.find_元素('//*[@id=“command_idSearchButton”]/nobr')。单击()time.sleep(5)

iframe = driver.find_element_by_xpath('//*[@id="iframe_52"]')

driver.switch_to.frame(iframe)

mrn = WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, '//*[@id="control_15"]'))).send_keys(mrnum)

time.sleep(1)

ln = WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, '//*[@id="control_18"]'))).send_keys(last_name)

time.sleep(1)

fn = WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, '//*[@id="control_19"]'))).send_keys(first_name)

time.sleep(1)

search = WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, '//*[@id="control_66"]'))).click()

#try: click patient if one exists / try warning pop alert / exception warning / exception nopatient exists wrtie to file

try:

WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, '//*[@id="idHTMLResult"]/table/tbody/tr[2]/td[4]/a'))).click()

try:

print('trying to switch..')

WebDriverWait(driver, 20).until(EC.frame_to_be_available_and_switch_to_it((By.ID, "frame_116")))

print('switched')

WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, '//*[@id="control_8"]')))

driver.switch_to_default_content()

except TimeoutException:

print('didnt switch...')

以下是HTML:

h3C9p.png

解决方案:

^{pr2}$

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值