Java + selenium 元素定位(3)之By TagName


       本篇介紹findElement接口中的By TagName方法。首先,要知道什么是tagname。之前我們使用F12開發者工具查看網頁元素是,發現每行代碼前都有<input>、<body>、<div>、<button>等等標簽,這些標簽就是tagname了。但是我們都可以看出來,像是<div>、<button>、<input>這些常用的標簽,在網頁中出現的頻率是很高的,如果我們使用tagname來定位元素,可能定位到的就不是我們預想的元素。所以一般配合findElements接口使用,查找一組元素。

        這里舉例說明一下,比如,我要把火狐瀏覽器全屏,那我我要做的第一件事情就是,把光標聚焦到瀏覽器內部。聚焦這個動作,就可以通過tagname來實現。通過查看網頁代碼,我們知道,一個網頁<body>這個標簽是具有唯一性的。那么我們就需要利用<body>這個標簽來完成聚焦動作。代碼展示如下

import java.util.concurrent.TimeUnit;
 
import org.openqa.selenium.By;
import org.openqa.selenium.Keys;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
 
  
public class ByClassName {  
  
    public static void main(String[] args) throws Exception {  
          
        System.setProperty("webdriver.gecko.driver", ".\\Tools\\geckodriver.exe");  
           
        WebDriver driver = new FirefoxDriver();  
     
        driver.manage().window().maximize();  
       
        driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);
          
        driver.get("http://news.baidu.com");  
        
        driver.findElement(By.tagName("body")).sendKeys(Keys.F11);
        
        
    }
}

         這次的舉例我使用了火狐瀏覽器,而不是之前慣用的谷歌瀏覽器。是因為我發現按F11,全屏這個操作,在谷歌瀏覽器中是不能成功的,沒有任何報錯信息。所以可能是Chromedriver.exe的小bug吧。這個問題的解決方案,后續如果發現了,會更新上來的。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM