2016-10-24 79 views

回答

1

試試這個代碼。登錄按鈕在一個框架下可用。所以有必要切換到該幀以訪問該元素。

driver.get("https://campus.uni-stuttgart.de/cusonline/webnav.ini"); 
driver.switchTo().frame(driver.findElement(By.xpath("//*[@name='menue']"))); 
driver.findElement(By.cssSelector("#menue_frame_key_icon > img")).click(); 
driver.switchTo().defaultContent(); 
+0

爲你解答。但我有另一個問題。現在我想輸入用戶名到文本框中。這個文本框可以在表單下使用。是否有必要切換到這種形式? – Ildon

+0

無需切換到該表單。但是,我看到另一個名稱=「詳細」的框架。您需要在訪問您的用戶名文本框之前切換到該框架。 – Saravanan

0

它出現的登錄按鈕ID是「menue_frame_key_icon」。

所以這應該是:

driver.findElement(By.id("menue_frame_key_icon")).click(); 

你可以交替嘗試的ID,它可以做多種方式的子元素。這將工作,雖然:

driver.findElement(By.cssSelector("#menue_frame_key_icon > img")).click(); 
+0

thx for you answer。我試過但沒有任何反應:/ package CampusPackage; 公共類CampusCode { \t \t公共靜態無效的主要(字串[] args)拋出異常 \t { \t \t System.setProperty( 「webdriver.chrome.driver」,「C:\\程序文件(86)\\ SeleniumDrivers \\ chromedriver.exe「); \t WebDriver driver = new ChromeDriver(); \t driver.get(「https://campus.uni-stuttgart.de/cusonline/webnav.ini」); (「#menue_frame_key_icon> img」))。click(); \t \t System.out.println(「Title:」+ driver.getTitle()); \t \t \t}} THX – Ildon