當做UI自動化的時候,有時候明明表達式寫的沒有問題,就是定位不到 。。這是為啥嘞
咱拿登錄qq郵箱做個示范
不論是xpath定位還是直接ui或name定位,直接u就對了 。
這是初學最容易犯的問題,因為初學ui自動化,想着找一個網站去試驗 ,一般都是常用的,比如郵箱登錄啊,空間登錄啊,等等,這種網址都比較老,用的技術可能也比較老舊
一般這種問題都是因為頁面嵌套了iframe ,這是啥? iframe等於打開一個新的網頁,所有的JS/CSS全部加載一遍,算是一個過時的技術 。
當你在一個頁面訪問另外一個頁面 ,肯定取不到元素值 。所以就用到了層級取值方法
python 的話直接加一行代碼即可
進入iframe
driver.switch_to.frame(driver.find_element_by_xpath("//iframe[contains(@id,'login_frame')]"))
然后在定位賬號輸入框
driver.find_elements_by_xpath("u").send_keys("sasaddad")
在當前iframe操作完之后要記得退出來,不然外面的元素就定位不到了
退出iframe
driver.switch_to.default_content()