經常會有一些小白們,在編寫python自動化**的時候,遇到定位不到元素的問題。
檢查了很多遍**,也在網頁上反覆的核實,定位的xpath也是寫對了的,那麼,問題出在**了?這時候就需要考慮是不是有巢狀iframe的問題了。
以qq空間網頁版為例,需要定位到頁面上的「賬號密碼登入」
*driver.find_element_by_id('switcher_plogin')*,
**執行報錯,這個時候我們需要回到網頁上,看看頁面html內容,檢查我們需要定位元素的所有上級標籤中是否有iframe標籤,如果有,那麼我們在執行以上****之前**,需要先切換到iframe裡面,*driver.driver.switch_to.frame('此處填寫iframe的id值或者name的值')*即可
總結:1.進入到iframe標籤中(當巢狀多層iframe的時候需要一層一層的進入):
iframe有屬性值時:
driver.switch_to.frame(』 iframe的id值或者name的值 ')
iframe無屬性值時:
driver.switch_to.frame(填寫索引值)
通過定位進行切換:
driver.switch_to.frame(driver.find_element_by_tag_name(『iframe』))
2.driver.driver.switch_to.default_content() 切回到最外層,即主html中
3.driver.switch_to.parent_frame() 切回上一層iframe中
css之定位元素
元素的定位是掌握css技術的核心,只有熟練運用元素定位才能用css創造出專業水準的頁面布局。定位元素的技術包括 box model float position 所謂盒模型,就是指每乙個html元素會在頁面上生成乙個盒子,將該元素包圍其中。html元素其實是由一堆的盒子構成的。p.test如上 生成...
APP定位元素之UiSelector
1.uiselector 類介紹 功能 通過各種屬性與節點關係定位元件 操作步驟 找到物件 操作物件 2.四中匹配關係的介紹 1 完全匹配 2 包含匹配 3 正則匹配 4 起始匹 例子 完全匹配 應用 uiselector selector new uiselector description 應用...
css selector定位元素
selenium中經常要用css selector定位元素,雖說可以用firefox的firebug firepath直接copy元素的xpath路徑,但有時還是很必要用css selector來定位,也算技多不壓身吧 系統的學習一下,也當是臨陣磨槍。一共8種方式的選擇器。根據元素的標籤定位,如下 ...