#遇到frame的解决方案(也是先选定iframe的id再去选择里面的元素 多少列(一行多少列tr[1]/td)-多少行(tr))
selList[0].select_frame("id=frameDetail")
return selList[0].get_xpath_count("//table[@id='vmManageList_body']//tr[1]/td")
>隐藏元素如何定位?
一样的定位方式能定位到,只是不能操作,
显隐是由属性控制:
type="hidden"和 style="display: none
可以改属性==
print(ele.get_attribute("type"))
print(ele.is_displayed())
操做点击输入之类的就要用js方式
js = 'document.getElementById("id").click()' driver.execute_script(js)
等待方式的区别
显式等待
隐式等待driver.implicitly_wait(30)全局等待不是好事, 有些 js 加载失败时候会一直等,并且页面跳转时候也无法识别
WebDriverWait 和 expected_conditions
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.ui import WebDriverWait
element = WebDriverWait(driver, timeout, 1).until(EC.presence_of_element_located(locator))
网友评论