Gmail 가입 웹 응용 프로그램에서 셀레늄 웹 드라이버를 사용하여 생일 월 필드에서 텍스트 (1 월, 2 월과 같은 월 이름 ...)를 추출하려고합니다. 코드는 다음과 같습니다.
<label id="month-label" class="month">
<span id="BirthMonth" class=" form-error" aria-invalid="true">
<div class="goog-inline-block goog-flat-menu-button jfk-select" role="listbox" style="-moz-user-select: none;" aria-expanded="false" tabindex="0" aria-haspopup="true" aria-activedescendant=":0" title="Birthday">
<div class="goog-menu goog-menu-vertical" style="-moz-user-select: none; visibility: visible; left: 0px; top: -299.133px; display: none;" role="listbox" aria-haspopup="true">
<div id=":1" class="goog-menuitem" role="option" style="-moz-user-select: none;">
<div class="goog-menuitem-content">January</div>
</div>
<div id=":2" class="goog-menuitem" role="option" style="-moz-user-select: none;">
<div class="goog-menuitem-content">February</div>
</div>
<div id=":3" class="goog-menuitem" role="option" style="-moz-user-select: none;">
<div class="goog-menuitem-content">March</div>
</div>
<div id=":4" class="goog-menuitem" role="option" style="-moz-user-select: none;">
<div class="goog-menuitem-content">April</div>
</div>
<div id=":5" class="goog-menuitem" role="option" style="-moz-user-select: none;">
<div id=":6" class="goog-menuitem" role="option" style="-moz-user-select: none;">
<div id=":7" class="goog-menuitem" role="option" style="-moz-user-select: none;">
<div id=":8" class="goog-menuitem" role="option" style="-moz-user-select: none;">
<div id=":9" class="goog-menuitem" role="option" style="-moz-user-select: none;">
<div id=":a" class="goog-menuitem" role="option" style="-moz-user-select: none;">
<div id=":b" class="goog-menuitem" role="option" style="-moz-user-select: none;">
<div id=":c" class="goog-menuitem" role="option" style="-moz-user-select: none;">
</div>
<input id="HiddenBirthMonth" name="BirthMonth" type="hidden">
</span>
</label>
xpath 및 기타 요소 로케이터를 고소했지만 텍스트를 추출 할 수 없습니다. Select 클래스를 사용할 때 오류가 발생 cannot apply select with div
합니다. 몇 가지 해결책을 제안하십시오.
해야 할 일은 다음과 같습니다. 월 항목은 부트 스트랩 드롭 다운입니다. 따라서 목록을 얻으려면 그것을 통과해야합니다. 다음은 작동 코드입니다.
package Gmail;
import java.util.List;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
public class gmailLogin {
public static void main(String[] args) throws InterruptedException {
System.setProperty("webdriver.chrome.driver", "C:\\Utility\\BrowserDrivers\\chromedriver.exe");
WebDriver driver = new ChromeDriver();
driver.manage().window().maximize();
driver.get("http://gmail.com");
driver.findElement(By.xpath(".//*[@id='link-signup']/a")).click();
Thread.sleep(2000);
driver.findElement(By.id("BirthMonth")).click();
Thread.sleep(2000);
List<WebElement> month_menu = driver.findElements(By.xpath(".//div[@class='goog-menuitem-content']"));
for (int i=0;i<month_menu.size();i++)
{
WebElement element = month_menu.get(i);
String contents = element.getAttribute("innerHTML");
System.out.println("Values from dropdown is : "+contents);
}
driver.quit();
}
}
도움이되는지 알려주세요.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다