从一个页面移动到另一个页面后,无法通过python中的selenium webdriver定位元素

时间:2018-04-13 05:46:32

标签: python unit-testing selenium

Each bar a has a page我试图自动化网页

另一个页面必须从按钮菜单中显示,这里面临的问题是,找不到任何元素,未找到下一页中的元素。

有没有办法连接它们?

有人可以帮助我?????

2 个答案:

答案 0 :(得分:0)

此代码位于 Java 中,类似地,您可以将其转换为 Python

如果单击下一个按钮后,页面将在新选项卡中打开,则必须将WebDriver的焦点切换到该窗口。

为此你必须使用:

driver.switchTo.window(String args0);  

您可以使用此代码进行全面实施:

public static void main(String args0){

System.setProperty("webdriver.chrome.driver", "F:\\Automation\\chromedriver.exe");
WebDriver driver = new ChromeDriver();

  //Some operations on Page 1  (Page 1 is cuurent Page that you are working).
 //Click on next button on Page 1.

  ArrayList<String> tabs = new ArrayList<String>(driver.getWindowHandles());
  driver.switchTo().window(tabs.get(1));

  // performs some operations on Page 2

   driver.close();
   driver.switchTo.windows(tabs.get(0));
}

那就是它!

注意:此代码适用于单击下一个按钮后打开的新选项卡以及新Windows。

如果您对此有任何疑虑,请与我们联系。

答案 1 :(得分:0)

在python中添加了cruisepandey所说的内容:

driver.switch_to_window(driver.window_handles[-1])

-1表示新创建的页面。

您可能还需要执行以下操作:

driver.switch_to_frame('foobar')

如果网站分为框架。