轉載請注明出自天外歸雲的博客園:http://www.cnblogs.com/LanTianYou/
問題:有一些元素,無論是通過id或是xpath等等,怎么都定位不到。
分析:這很可能是因為你要定位的元素被嵌套在了當前頁面的一個iframe元素中,Selenium對iframe中的元素有特殊的定位規則,WebDriver不能夠直接進行定位。
解決辦法:我們要把這個iframe元素找出來,讓WebDriver轉移到這個iframe元素上,之后再讓WebDriver對iframe中的元素進行定位。
因為最近在用Java來做一些東西,所以就順便說一下Selenium在Java環境下的使用,總共分三步:
第一步、把Selenium的壓縮包從官網上下載下來,解壓縮后將所有的jar包——

都復制到java project下:

第二步、右鍵項目->Build Path->Configue Build Path->Libraries->Add JARs->選擇lib文件夾下所有的jar包->OK->OK:

第三步、在項目中import和Selenium相關的類庫並使用。
下面舉個實際應用中的例子,拿360游戲中心的首頁舉例,嘗試定位頁面左側的賬號欄並輸入用戶名:

通過查看頁面元素,你會發現它被嵌套在了一個iframe里,要定位這個input標簽,代碼如下:

運行結果如下,我們成功定位到了這個iframe中的input元素,並輸入了用戶名:

