当前位置: 首页 > 知识库问答 >
问题:

如何定位一个元素在新页面使用xpath后导航到新页面从旧的一个在selenium?

楚元章
2023-03-14

每当我点击产品时,它导航到新页面,无法在新页面中找到指定的元素(添加到购物车按钮)。我写的代码如下...

Web驱动程序。FindElement(By.XPath("//img[包含(@alt,'苹果iPhone SE(黑色,64 GB)')]")).单击();//点击产品webDriver.FindElement(By.XPath(//按钮[@class='_2KpZ6l_2U9uOA_3v1-ww'])。单击();//导航到新页面

共有1个答案

爱乐邦
2023-03-14

打开新选项卡时,您应该将Selenium驱动程序焦点切换到新选项卡,以便访问那里的元素。
这可以按以下方式完成:

driver.SwitchTo().Window(driver.WindowHandles.Last());

完成该选项卡后,您将希望关闭该选项卡并切换回第一个选项卡。
这可以通过

driver.SwitchTo().Window(driver.WindowHandlesLast()).Close(); // close the last tab
driver.SwitchTo().Window(driver.WindowHandles[0]); // get back to the first tab
 类似资料:
  • 我遇到了这种奇怪的情况。 > 我首先在第1页,它有一个id为“abc”的元素,我使用“abc”查找webElement并获得它的文本值 我点击了第1页的一个链接,它把我带到了第2页 值得注意的是,如果在页面切换之间插入硬编码延迟(线程Hibernate等),就不会出现过时的问题。 谢谢,

  • 问题内容: 如何从一页导航到另一页。假设我有一个登录页面,在输入用户名和密码字段并单击提交按钮后,它需要验证,如果用户名和密码都正确,则需要进入主页。主页内容需要显示。我在这里发布代码。在浏览器中,URL不断变化,但内容没有变化。 index.html home.html test.js 问题答案: 正如@dfsq所说,您需要一个ng-view来放置新视图。当然,如果将ng- view添加到索引中

  • 问题内容: 好的,我设置了一个会话…但是现在如何在其他页面上使用它呢? 我试着做 问题答案: 如果您的PHP设置清晰(会话写正常)并且cookie通常发送到浏览器(并保留了),则您应该可以执行以下操作 在第一页上: 在第二页上: 请注意,在发送任何输出之前,必须先调用session_start(),因此,如果必须在会话_start中使用@,它可能会隐藏警告。 由于这些是警告,如果给定的示例不起作用

  • Iam正在使用ionic应用程序编辑配置文件和查看配置文件。编辑编辑页面的详细信息后,它将导航到查看配置文件页面。 我希望在导航后刷新查看配置文件页面。 这是editprofile.ts代码: 首先我用下面的导航 通过谷歌搜索,我添加了这个来在导航后刷新视图配置文件 现在发生的是,首先它被重定向到查看个人资料页面,并且没有刷新,它直接重定向到主页,主页被刷新。 请帮助我如何在从“编辑配置文件”页面

  • 页面的概念 传统的html页面,一个html就是一个页面, 在QAP中,一个页面的概念就是一个JS, 任何一个JS挂载后都可以成为一个页面。 页面的编写 import {mount} from 'weex-rx-mounter'; import DetailPage from './detail-page'; mount(<DetailPage />, 'body'); 以上就是一个page的

  • 问题似乎是没有用新页面的内容更新元素。将问题行的替换为也不起作用。我做错了什么? 请注意,我必须能够对所有缩略图执行此操作(因此使用循环)。