Selenium 如何在单击提交按钮后单击链接

Selenium 如何在单击提交按钮后单击链接,selenium,selenium-webdriver,Selenium,Selenium Webdriver,单击“提交”按钮后,将在现有窗口上打开一个新页面。在这个新窗口中,有一个链接。您将如何使用WebDriver单击此链接?当我右键单击链接文本并使用Firebug检查元素时,我得到以下结果: <a id="ctl100_ContentPlaceHolder1" class="prev-next previousYear" href="Enrollment2013.aspx?4fd70df97f0748ea82e787e5cf5b8552"><<previous year&l

单击“提交”按钮后,将在现有窗口上打开一个新页面。在这个新窗口中,有一个链接。您将如何使用WebDriver单击此链接?当我右键单击链接文本并使用Firebug检查元素时,我得到以下结果:

<a id="ctl100_ContentPlaceHolder1" class="prev-next previousYear" href="Enrollment2013.aspx?4fd70df97f0748ea82e787e5cf5b8552"><<previous year</a>
Java:

driver.findElement(By.id("ctl100_ContentPlaceHolder1")).click();
driver.find_element_by_id("ctl100_ContentPlaceHolder1").click();
Python:

driver.findElement(By.id("ctl100_ContentPlaceHolder1")).click();
driver.find_element_by_id("ctl100_ContentPlaceHolder1").click();

在您描述的情况下,您必须切换到新窗口,然后在那里操作。请看下面的代码:

String winHandle = driver.getWindowHandle(); //Gets your current window handle.
for(String windowsHandle : driver.getWindowHandles()){
    driver.switchTo().window(windowsHandle); //Switch to new window.
}
driver.findElement(By.id("ctl100_ContentPlaceHolder1")).click(); //Click on the link in new window
driver.close(); //Close the new window after your operations are performed.
driver.switchTo().window(winHandle); //Switch back to original window.

我相信这会对你有所帮助:)

这会让你困惑吗?这是一个元素,就像其他元素一样。您目前正在使用定位器查找特定元素,是吗?那么这有什么不同呢?