由于要定位frameSet中得frame,之前做过忘记了,找了半天没找见,最后在stackoverflow上找到类似的,修改了一下如下:
可以通过ID和Name定位到frame获取driver,直接拿去就能用
public static WebDriver switchToFrameByIdOrName(WebDriver driver , String frameIdOrName) {
if (!(driver instanceof ChromeDriver)) {
return driver.switchTo().frame(frameIdOrName);
}
WebElement frame = null;
try {
frame = driver.findElement(By.cssSelector("frame[id='" + frameIdOrName + "']"));
} catch (NoSuchElementException e) { }
if (frame == null) {
try {
frame = driver.findElement(By.cssSelector("frame[name='" + frameIdOrName + "']"));
} catch (NoSuchElementException e) {
System.out.println(String.format("CORE > switchToFrameByIdOrName() error: Frame with name or id '%s' not found.