无法在 Selenium 中的模式弹出窗口上找到元素[关闭]

2023-12-01

我正在使用 Selenium Webdriver 自动化网页。我无法使用简单的元素定位器方法单击模式弹出窗口的按钮。

Example:

  • 打开 www.walmart.com
  • 在搜索框中输入电视。
  • 选择一些电视并单击“添加到购物车”
  • 现在,“结帐”按钮所在的位置出现一个弹出窗口。我需要点击这个“结帐”按钮。

我尝试了 switchTo() 窗口句柄,尝试了 switchTo() 框架,但没有任何效果。


该网站速度非常慢并且存在加载问题。所以,我建议你使用显式等待对于每个 findElement。我编写了以下脚本并且运行良好

WebDriver driver = new ChromeDriver();
driver.manage().window().maximize();        

driver.get("http://www.walmart.com/");
WebDriverWait wait = new WebDriverWait(driver, 20);
wait.until(ExpectedConditions.elementToBeClickable(By.cssSelector("[placeholder='Search']")))
        .sendKeys("TV");
driver.findElement(By.cssSelector(".searchbar-submit.js-searchbar-submit")).click();
wait.until(ExpectedConditions.presenceOfAllElementsLocatedBy(By.cssSelector("#tile-container>div>a>img")))
        .get(0).click();        
wait.until(ExpectedConditions.elementToBeClickable(By.id("WMItemAddToCartBtn"))).click();
wait.until(ExpectedConditions.elementToBeClickable(By.id("PACCheckoutBtn"))).click();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

无法在 Selenium 中的模式弹出窗口上找到元素[关闭] 的相关文章

随机推荐

  • RDS数据库的本地副本

    在过去一个小时左右的时间里 我一直在进行一些研究 并且听到了一些有关 Amazon RDS 数据库复制的相互矛盾的信息 我的数据库相当大 有 15 个表 总大小为 4 GB 那么 基本上 我是否可以创建远程 RDS InnoDB 的本地副本
  • 常驻后端 Google App Engine“/_ah/background”(Python)

    有人可以帮我理解谷歌应用程序引擎 Python 中的 ah background 是什么吗 我有一个正在运行的常驻后端 并且我看到向该端点发出的请求 它们似乎是由我的代码之外的某些东西生成的 它们似乎也由我的 ah start 处理程序处理
  • 为什么将 0.1f 更改为 0 会使性能降低 10 倍?

    为什么这段代码 const float x 16 1 1 1 2 1 3 1 4 1 5 1 6 1 7 1 8 1 9 2 0 2 1 2 2 2 3 2 4 2 5 2 6 const float z 16 1 123 1 234 1
  • 如何使用 DefaultEditor 方法检查 JSpinner 字段上的手动编辑

    我正在从这里调整代码 JTextField 的值更改侦听器 EDIT 2 当我按下向上微调箭头时 以下代码会出现无限循环的对话框 细绳 字符串 10 值 10 细绳 字符串 10 值 10 细绳 字符串 10 值 10 警告您需要使用任务管
  • Alamofire自定义参数

    我正在尝试将这个curl 调用转换为Swift 中的Alamofire curl X POST https content dropboxapi com 2 files download header Authorization Beare
  • 如何在 T-SQL 中获取版本号 (varchar) 列的最大值

    我有一个这样定义的表 Column Version Message Type varchar 20 varchar 100 Row 1 2 2 6 Message 1 Row 2 2 2 7 Message 2 Row 3 2 2 12 M
  • 如何在mvc中的jquery中使用@符号

    我正在尝试在 if 条件下在 javascript 中使用 符号 但它向我显示了一个错误 if password match alert yes strength 1 It is Showing me this error 您可以输入两次
  • 在 Windows 中为 Python 设置 Pocketsphinx

    有人可以帮助我在 Windows 中构建 pocketsphinx 语音识别吗 我在理解 sphinx 中提供的指令时遇到困难page 我想开发一个语音控制的计算机自动化应用程序 我正在使用 Python 我不知道如何安装sphinx 以便
  • cython可以用icc编译吗?

    我正在尝试在 Ubuntu 14 04 上使用 icc 编译器从源代码构建 cython 因为我的 python 是使用 Intel icc 编译器编译的 当我尝试使用安装 cython 时pip3 安装 cython然后运行 cython
  • 表排序后函数停止工作

    我当前有一个通过引导集成按数据表排序的表 在我的最后一栏中 我有一个按钮组 编辑 完成等 单击时应该调用函数 这些按钮是在 php while 循环中使用此代码创建的 其中 data id 是 javascript 需要接收的变量 echo
  • 模拟Verify()调用

    我正在进行单元测试以查看是否调用了方法 Fact public void Can Save Project Changes Arrange var user new AppUser UserName JohnDoe Id 1 Mock
  • 通过拖放上传文件

    好吧 这是我的问题 我需要能够让用户将多个图像从定位文件系统拖到 flash flex html5 应用程序上 然后该应用程序将获取文件名详细信息并联系服务器 服务器响应后上传文件 假设服务器验证已通过 我知道这可以用 Java 完成 但这
  • 出现错误“运算符‘+=’对于‘Vector3’和‘Vector2’类型的操作数不明确”

    在尝试构建时我收到此错误 运算符 对于 Vector3 和 Vector2 类型的操作数不明确 这是问题所在的脚本的代码 using System Collections using System Collections Generic u
  • Android studio中POST请求示例

    我几天前刚开始学习 android 在将 JSON 数据上传到服务器时遇到问题 我设法通过以下代码检索它 编辑 我确实设法使用外部 OKHTTP 库检索文件 但我想在不使用外部库的情况下执行此操作 package cc demorest i
  • Hibernate 5 + Glassfish 4.1.1: java.lang.NoSuchMethodError: org.jboss.logging.Logger.debugf(Ljava/lang/String;I)V

    当我将 Hibernate 5 添加到我的网站时 我无法让它在 Glassfish 4 1 1 中运行 我总是收到错误 java lang NoSuchMethodError org jboss logging Logger debugf
  • 如何控制显示哪些监视器图?

    我有一个运行 MATLAB 的 3 显示器 Gentoo Linux 系统 MATLAB 在中央显示器上运行 我需要 MATLAB 在左侧监视器上生成绘图 但它总是在右侧监视器上绘图 我相信这至少部分是由于我对显示器进行物理排列的非标准方式
  • SQL 中的互斥锁模拟?

    我有多个线程 执行类似的查询 他们不应该同时被处决 为此 我可以从 ADO Net 客户端创建和检查互斥体 但出于某种原因 我更喜欢使用 SQL 来执行此操作 是否可以 Regards 是的 SQL Server 2005 中的应用程序锁
  • 使用 cx_freeze 和 bdist_msi 为 PySide 应用程序创建 MSI

    我有一个 PySide 应用程序 正在尝试使用 cx freeze 将其打包到 MSI 中 我可以成功创建 MSI 安装程序 但我无法弄清楚如何列出要包含在包中的其他模块 这是我的setup py script import sys fro
  • T-SQL查找字符字符串并获取表达式右侧的所有字符

    我如何 Take RJI Cjserver TrialWorks CaseFiles 10000269 Pleadings RJI 10005781 doc 找到常量表达式 Cjserver 并将所有内容放在表达式右侧 因此正确的指针将是
  • 无法在 Selenium 中的模式弹出窗口上找到元素[关闭]

    Closed 这个问题需要调试细节 目前不接受答案 我正在使用 Selenium Webdriver 自动化网页 我无法使用简单的元素定位器方法单击模式弹出窗口的按钮 Example 打开 www walmart com 在搜索框中输入电视