要如何解決xpath,css selector無法定位問題?
通常如果頁面有iframe就很容易無法直接定位,xpath,css selector都會無法抓到要找的元件。這個時候就需要先跳到iframe裡面。
如果有多層則要一層一層跳進去
這裡主要介紹三種進入iframe的方式:
1.有iFrame ID 或 name
2.用xpath或css selector
3.用第幾個iframe來進入
注意,進入iframe後會找不到iframe外面的元素,所以要先跳出iframe
通常如果頁面有iframe就很容易無法直接定位,xpath,css selector都會無法抓到要找的元件。這個時候就需要先跳到iframe裡面。
如果有多層則要一層一層跳進去
這裡主要介紹三種進入iframe的方式:
1.有iFrame ID 或 name
dr.switchTo().frame("frameId");
//frame直接id or name 都可以
2.用xpath或css selector
WebElement frame=driver.findElement(By.xpath( "/html/body/div[1]/div/iframe" ));
driver.switchTo().frame(frame);
// 使用xpat示範
3.用第幾個iframe來進入
Int size = driver.findElements(By.tagName("iframe")).size();//取得全部iframe數量
driver.switchTo().frame(0);
注意,進入iframe後會找不到iframe外面的元素,所以要先跳出iframe
driver.switchTo().parentFrame();
//會直接跳到此位置的父級frame
driver.switchTo().defaultContent();
//跳到主文件
留言
張貼留言
如果有任何問題、建議、想說的話或文章題目推薦,都歡迎留言或來信: a@ruyut.com