NoSuchElementException:消息:尝试通过 Selenium 和 Python 单击按钮 VISA 时无法定位元素

2023-12-15

我无法点击此按钮在我的机器人上创建结账。 我想点击图片进入另一页。

<label for="VISA" class="choiceLabel">
            
				<input type="radio" class="visuallyhidden" name="cardTypeRadio" id="VISA" value="VISA" title="VISA" onclick="validateAndSubmit('VISA');">
					<span class="imgElt xh-highlight" onclick="validateAndSubmit('VISA');">
              	<img src="/static/2.15.0.1/images/type-carte/visa.png" alt="VISA" title="Visa">
            	</span>
            <span class="txtElt">Visa</span>
          </label>
this is my code:
try:
             check = WebDriverWait(driver, delay).until(EC.presence_of_element_located((By.ID,"VISA" )))
            
             print ("Page is ready!")
             visa = driver.find_elements_by_xpath("label[@class='choiceLabel'][4]")
             visa.click()


        except TimeoutException:
             print ("Loading took too much time!")
             return check

我收到此错误:

 File "C:\Users\x\AppData\Local\Programs\Python\Python37\lib\threading.py", line 917, in _bootstrap_inner
    self.run()
  File "C:\Users\x\AppData\Local\Programs\Python\Python37\lib\threading.py", line 865, in run
    self._target(*self._args, **self._kwargs)
  File "c:/Users/pietro/Documents/monitor/x/bot.py", line 48, in all
    visa = driver.find_element_by_xpath("label[@class='choiceLabel'][4]")
  File "C:\Users\x\AppData\Local\Programs\Python\Python37\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 394, in find_element_by_xpath
    return self.find_element(by=By.XPATH, value=xpath)
  File "C:\Users\x\AppData\Local\Programs\Python\Python37\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 978, in find_element
    'value': value})['value']
  File "C:\Users\x\AppData\Local\Programs\Python\Python37\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 321, in execute
    self.error_handler.check_response(response)
  File "C:\Users\x\AppData\Local\Programs\Python\Python37\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 242, in check_response
    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.NoSuchElementException: Message: Unable to locate element: label[@class='choiceLabel'][4]

The 按钮在我的机器人上创建结账似乎是一个信用卡相关领域和历史信用卡相关字段位于<iframe>.

您可以在以下位置找到一些相关讨论:

  • 无法使用 selenium python 找到信用卡号码的元素
  • org.openqa.selenium.NoSuchElementException:尝试通过 CssSelector 定位 card-fields-iframe 时,返回的节点 (null) 不是 DOM 元素

因此,如果所需的元素在<iframe>所以你必须:

  • Induce WebDriver等待为了想要的框架可用并切换到它.
  • Induce WebDriver等待为了想要的元素可点击.
  • 您可以使用以下任一解决方案:

    • Using CSS_SELECTOR:

      WebDriverWait(driver, 20).until(EC.frame_to_be_available_and_switch_to_it((By.CSS_SELECTOR,"iframe_css_selector")))
      WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "label[for='VISA']"))).click()
      
    • Using XPATH:

      WebDriverWait(driver, 20).until(EC.frame_to_be_available_and_switch_to_it((By.XPATH,"//iframe_xpath")))
      WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//label[@for='VISA']"))).click()
      
  • Note:您必须添加以下导入:

    from selenium.webdriver.support.ui import WebDriverWait
    from selenium.webdriver.common.by import By
    from selenium.webdriver.support import expected_conditions as EC
    
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

NoSuchElementException:消息:尝试通过 Selenium 和 Python 单击按钮 VISA 时无法定位元素 的相关文章

随机推荐

  • 将日期从 Excel 转换为 R

    我很难将日期从 excel 从 csv 读取 转换为 R 非常感谢帮助 这是我正在做的事情 df date as Date df excel date format d m Y 但是 有些日期会被转换 但有些则不会 这是以下的输出 head
  • ggpairs 绘图,其中包含具有重要性星级和自定义主题的相关值热图

    我想用 ggPairs 创建一个相关图 其中应该包含 相关值的热图 就像在这个SO问题中一样 相关性的显着性星号 就像在这个SO问题中一样 根据自定义主题的字体类型和字体大小 基于 user20650对上述SO问题提供的优秀解决方案 我成功
  • Angular2:将表单上下文绑定到 ngTemplateOutlet

    我试图定义一个包含动态表单 使用 ReactiveForms 的组件 用户应该能够在其中添加 删除控件 控件可以采用多种形式 并且必须在组件外部定义 因此我认为 TemplateRef 最适合这种情况 我正在努力寻找一种通过使用 formC
  • XSL 与区域化/国际化数字格式

    在格式化数字时 XSL 中是否内置了任何区域化支持 目前 我的底层 XML 包含英国 美国格式的数字 例如 54321 12345 我可以对此进行选择总和 以相同的格式给出总计 我可以使用 format number 54321 12345
  • Lattice中的facet_wrap相当于什么

    假设我们有一些这样的数据 dta lt data frame group rep letters 1 8 each 1000 x runif 8000 y runif 8000 我想为每个组生成一个包含 y x 的格子图 但是 第一行有 a
  • 左外连接等效

    我有一个包含空值的表 在 ORDER 表中 PART ID 部分有 2 个空值 CUSTOMER ID 部分有 2 个空值 我有这样的疑问 SELECT O ORDER ID O ORDER DATE O CUST ID O QUANTIT
  • 将图形直接放入 Knit 文档中(不将其文件保存在文件夹中)

    我正在 RStudio 中创建一个名为 test Rnw 的文档 其 MWE 如下 documentclass 12pt english nohyper tufte handout usepackage tabularx usepackag
  • 逗号运算符的正确用法是什么?

    我看到了这段代码 if cond perror an error occurred exit 1 为什么要这么做 为什么不只是 if cond perror an error occurred exit 1 在你的例子中 它根本没有任何理由
  • Coq 将不存在的语句转换为 forall 语句

    我是 Coq 的新手 这是我的问题 我有一个声明说 H forall x term exists y term P x y P y x 我猜它相当于 forall x y term P x y P y x gt false 但我可以使用哪种
  • 浮点数转换恐怖,有出路吗?

    背景 最近 我的同事向我们的测试项目添加了一些新测试 其中之一还没有传递或持续集成系统 由于我们有大约 800 个测试 并且需要一个小时才能运行所有测试 因此我们经常会犯错误 并且只在我们的开发机器上运行我们当前已实现的测试 这种方法有其弱
  • 如何从不返回简单 HTML 的网站抓取数据

    我一直在使用 requests 和 BeautifulSoup for python 从基本网站中抓取 html 但大多数现代网站不仅仅提供 html 结果 我相信他们运行 javascript 或其他东西 我不是很熟悉 这里有点菜鸟 我想
  • spring boot hibernate查询无效用户错误

    嗨 我是 Spring Boot 的新手 我尝试连接到 Oracle 并列出相关记录 我的代码在存根环境中运行 即没有连接到数据库 当我尝试从 Spring 连接到数据库时 出现编辑 2 中给出的错误 家庭控制器 package blog
  • 转换数据类型为 Option Strict

    我只是想知道如何正确 将字符串转换为日期 将整数转换为短整型 将字符串转换为整数 将字符串转换为双精度 正确地不使用任何类型 我打开了 Option Strict 现在所有这些错误都弹出了 所以我正在尝试修复它们 NET 提供了多种检查 测
  • 在另一个函数中使用一个函数的返回结果[重复]

    这个问题在这里已经有答案了 我知道这有几个问题 我读过但我无法理解 我试图在另一个函数中使用一个函数的返回结果 def multiplication a c a a return c def subtraction c d c 2 retu
  • 如何包含 pandas date_range() 的两端

    我想从一对日期创建一个按月频率的日期列表 包括两个日期所指示的月份 import pandas as pd import datetime Option 1 pd date range datetime 2022 1 13 datetime
  • 如何设置面板的透明不透明度

    我如何将面板设置为透明 如不透明度为0 我通过程序设置面板 它位于视频播放器的顶部 代码是这样的 Private Sub Button1 Click sender As Object e As EventArgs Handles Butto
  • 为什么我们要在 PyTorch 中“打包”序列?

    我试图复制如何对 rnn 的可变长度序列输入使用打包但我想我首先需要理解为什么我们需要 打包 序列 我明白为什么我们 填充 它们 但为什么 打包 通过pack padded sequence 必要的 我也偶然发现了这个问题 下面是我的发现
  • Bert 针对语义相似性进行了微调

    我想应用微调 Bert 来计算句子之间的语义相似度 我搜索了很多网站 但几乎没有找到有关此的下游信息 我刚刚发现STS基准测试 我想知道是否可以使用STS基准数据集来训练微调bert模型 并将其应用到我的任务中 合理吗 据我所知 计算相似度
  • ffmpeg/PHP - 将任何视频格式转换为 ogg 时出现问题 - 视频断断续续/无音频 - win64

    如果这是一个重新发布 类似的帖子 首先让我道歉 因为我尽了最大努力在此处和谷歌上已创建的帖子中搜索我的问题的具体解决方案 但无法 我在 win64 系统的本地主机上使用 ffmpeg 创建 测试视频转换脚本 然后将它们上传到服务器 我能够成
  • NoSuchElementException:消息:尝试通过 Selenium 和 Python 单击按钮 VISA 时无法定位元素

    我无法点击此按钮在我的机器人上创建结账 我想点击图片进入另一页