if语句selenium python webdri

2024-10-01 07:46:07 发布

您现在位置:Python中文网/ 问答频道 /正文

我想检查某个窗口是否打开,是否继续注销,但如果不是打开小部件,然后注销。在

小部件在另一个框架内。我不想切换框架只是为了看看小部件是否打开,如果我不需要的话。在

我的代码:

window=driver.find_element_by_id("DR44")
if window.is_displayed():
    userdropdown=driver.find_element_by_id("Menu").click()
    logout=driver.find_element_by_id("df456").click()
else:
     LaunchMenu=driver.find_element_by_id("launch").click()
     bvWidget=driver.find_element_by_id("54353sfd").click()
     launch= driver.find_element_by_id("3rfs").click()
     userdropdown=driver.find_element_by_id("userMdfd243l").click()
     logout=driver.find_element_by_id("efdf343").click()

我的错误:无法定位元素

我想检查一下是否在页面上找到了小部件的标题,如果是,那么继续注销,如果没有打开小部件,然后注销。在


Tags: 代码框架idby部件driverelementfind
1条回答
网友
1楼 · 发布于 2024-10-01 07:46:07

如果不切换到iframe,则不能在iframe中交互任何元素。首先通过driver.switch_to_frame()切换到iframe,并且不需要为要单击的变量分配元素。见下文:

driver.switch_to_frame(iframe) 

if driver.find_element_by_id("DR44").is_displayed():
    driver.find_element_by_id("Menu").click()
    driver.find_element_by_id("df456").click()
else:
    driver.find_element_by_id("launch").click()
    driver.find_element_by_id("54353sfd").click()
    driver.find_element_by_id("3rfs").click()
    driver.find_element_by_id("userMdfd243l").click()
    driver.find_element_by_id("efdf343").click()

需要注意的是:iframe是iframe id的列表

相关问题 更多 >