클릭을 수행하는 데 올바른 요소를 얻으려면 몇 가지 문제가 있습니다. 셀레늄을 사용합니다.Java Selenium은 클릭을위한 요소 가져 오기
나는 어쩌면 SB 나를 도울 수있는이 페이지 https://campus.uni-stuttgart.de/cusonline/webnav.ini
의 "버튼"에서 로그인을 클릭합니다.
감사
클릭을 수행하는 데 올바른 요소를 얻으려면 몇 가지 문제가 있습니다. 셀레늄을 사용합니다.Java Selenium은 클릭을위한 요소 가져 오기
나는 어쩌면 SB 나를 도울 수있는이 페이지 https://campus.uni-stuttgart.de/cusonline/webnav.ini
의 "버튼"에서 로그인을 클릭합니다.
감사
이 코드를 사용해보세요. 로그인 버튼은 프레임 아래에서 사용할 수 있습니다. 요소에 액세스하려면 해당 프레임으로 전환해야합니다.
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();
그것은 로그인 버튼 ID를 표시하는 것은 "menue_frame_key_icon"입니다.
그래서이 있어야한다 : 당신은 번갈아 여러 가지 방법으로 수행 할 수있는 ID의 하위 요소를 시도 할 수driver.findElement(By.id("menue_frame_key_icon")).click();
. 그래도 작동합니다.
driver.findElement(By.cssSelector("#menue_frame_key_icon > img")).click();
당신의 답변입니다. 나는 둘 다 시도했지만 아무 일도 일어나지 않았다 :/package CampusPackage; 공용 클래스 CampusCode { \t \t 공공 정적 무효 메인 (문자열 []에 args) ", 예외를 \t { \t \t System.setProperty를 ("webdriver.chrome.driver "을 던져 C : \\ 프로그램 파일 (x86) \\ SeleniumDrivers \\ chromedriver.exe "); \t WebDriver 드라이버 = 새 ChromeDriver(); \t driver.get ("https://campus.uni-stuttgart.de/cusonline/webnav.ini"); \t driver.findElement (By.cssSelector ("# menue_frame_key_icon> img")). 클릭(); \t \t System.out.println ("Title :"+ driver.getTitle()); \t \t \t} } 당신이 대답을 – Ildon
들으. 그러나 나는 다른 질문이있다. 이제 사용자 이름을 텍스트 상자에 입력하고 싶습니다. 이 텍스트 상자는 양식 아래에 있습니다. 그 양식으로 전환해야합니까? – Ildon
해당 양식으로 전환 할 필요가 없습니다. 그러나 나는 name = "detail"이라는 또 다른 프레임을 본다. 사용자 이름 텍스트 상자에 액세스하기 전에 해당 프레임으로 전환해야합니다. – Saravanan