我想检查某个窗口是否打开,是否要继续注销,但是如果不是打开窗口小部件然后注销。
小部件位于另一个框架内。我不想只是为了查看窗口小部件是否打开而不得不切换框架。
我的代码:
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()
我的错误:无法找到元素
我想查看是否在页面上找到了窗口小部件的标题,如果是,那么继续注销,如果没有打开窗口小部件然后注销。
答案 0 :(得分:1)
如果您不切换到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列表