我使用Selenium登录Way2sms
,在这里您应该查看我的源代码:
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.htmlunit.HtmlUnitDriver;
public class Main {
public static void main(String[] args) throws InterruptedException{
WebDriver driver=new HtmlUnitDriver();
driver.get("http://site25.way2sms.com/content/index.html");
driver.findElement(By.name("username")).sendKeys("9982XXXX");
driver.findElement(By.name("password")).sendKeys("XXXXXXXX");
driver.findElement(By.id("loginBTN")).click();
System.out.println(driver.getPageSource());
}
}
但是way2sms
存在问题。它会打开一些带广告的弹出窗口。所以请帮忙,如何登录..由于广告pop ups
,我无法登录。
当然,帮助将不胜感激!
答案 0 :(得分:1)
为了关闭其他窗口,您可以在窗口之间切换并关闭不需要的窗口。你可以尝试下面的示例代码:
getWebElement(webDriver, How.ID, getValueFromKey("helpLinkID"))
.click();
Set s = webDriver.getWindowHandles();
Iterator ite = s.iterator();
String previousWindow = "";
while (ite.hasNext()) {
String popupHandle = ite.next().toString();
webDriver.switchTo().window(popupHandle);
String currentURL = webDriver.getCurrentUrl();
if ((currentURL.contains("/webhelp/Login.htm"))) {
webDriver.close();
webDriver.switchTo().window(previousWindow);
}
previousWindow = popupHandle;
}
答案 1 :(得分:0)
这是我使用Firefox的方法,我观察到每次只有一个窗口打开,所以我使用窗口句柄来关闭打开的窗口及其工作。
WebDriver driver=new FirefoxDriver();
String Parentwindow = driver.getWindowHandle( );
driver.get("http://site25.way2sms.com/content/index.html");
driver.manage().window().setPosition(new Point(-2000, 0));
for ( String currentwindow : driver.getWindowHandles())
driver.switchTo( ).window(currentwindow);
{
driver.close( );
}
driver.switchTo().window(Parentwindow);
driver.findElement(By.name("username")).sendKeys("9982XXXX");
driver.findElement(By.name("password")).sendKeys("XXXXXXXX");
driver.findElement(By.id("loginBTN")).click();