找不到元素的原因大致有两点:
1. 页面没有加载出来,找不到定位的元素,设置等待时间即可;
2. 定位的元素在iframe框架内,所以定位不到。
firebug中如下图显示为Top Window的话,就是可以直接定位的元素
firebug中如下图显示为iframe的话,该元素就是在iframe框架中,需要使用switch_to.frame()方法来切换到iframe框架内再定位。
如果iframe标签有唯一的id或name值,那么直接调用driver.switch_to.frame(‘id/name’),再定位想要定位的元素即可。
如果iframe标签没有id和name,可以通过一般的定位方法先定位iframe,如上图可以先定位iframe,
iframe = find_element(By.CSS_SELECTOR, 'div.right-content > #ifram_div > div#html_CC010201 > iframe')
driver.switch_to_frame(iframe