如何使用 Selenium 查找 CloudFlare 人工验证元素

2023-12-20

浏览器是FireFox,语言是Python。我无法完成CloudFlare人工验证。

在这个网站(https://chat.openai.com/chat https://chat.openai.com/chat),我无法通过以下代码找到“mark”元素:

verify=WebDriverWait(driver, 10,0.1).until(EC.presence_of_element_located((By.CLASS_NAME, 'mark')))

HTML:

错误信息:

Traceback (most recent call last):
  File ,
    verify=WebDriverWait(driver, 10,0.1).until(EC.presence_of_element_located((By.CLASS_NAME, 'mark')))
  File "...Python310\lib\site-packages\selenium\webdriver\support\wait.py", line 90, in until
    raise TimeoutException(message, screen, stacktrace)
selenium.common.exceptions.TimeoutException: Message:
Stacktrace:
RemoteError@chrome://remote/content/shared/RemoteError.jsm:12:1
WebDriverError@chrome://remote/content/shared/webdriver/Errors.jsm:192:5
NoSuchElementError@chrome://remote/content/shared/webdriver/Errors.jsm:404:5
element.find/</<@chrome://remote/content/marionette/element.js:291:16

为什么以及如何解决它。


元素<span class="mark>...</mark>里面有可见的文字。所以要识别元素而不是元素存在位置() https://stackoverflow.com/a/57313803/7429447你需要诱导WebDriver等待 https://stackoverflow.com/a/59130336/7429447为了元素可见性() https://stackoverflow.com/a/50474905/7429447您可以使用以下任一方法定位策略 https://stackoverflow.com/a/48056120/7429447:

  • Using CSS_选择器:

    element = WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.CSS_SELECTOR, "label.ctp-checkbox-label span.mark")))
    
  • Using XPATH:

    element = WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.XPATH, "//label[@class='ctp-checkbox-label']//span[@class='mark']")))
    
  • 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(使用前将#替换为@)

如何使用 Selenium 查找 CloudFlare 人工验证元素 的相关文章

随机推荐

  • 我可以在该服务中动态创建的嵌套对象中设置该服务的 this.'something' 吗? (可能是范围问题)

    我有以下服务 它实际上有更多级别和元素 但我将其精简为我想要工作的一个示例 它根据 app data 文件夹中的 csv 文件动态地在其他对象中创建 javascript 对象 与这个问题最相关的行是this images images 在
  • 如何在 swift iOS 中为以下 JSON 响应创建模型类

    你好 我是 swift ios 的初学者 我的要求是必须显示对表列表的 Json 响应 我从网络服务收到响应 响应如下所示 我的要求是如何将模型类映射到数组以及如何在 tableList 中显示它们可以有人帮助我吗 Json响应 id 54
  • DataContext 未绑定在 Style.Trigger 中

    所以我有一些类似于以下的代码 请原谅任何拼写错误 我试图在帖子的 SO 编辑器中进行简化
  • pygame.event.get() 在线程内时不返回任何事件

    所以我有这段代码来处理吃豆人风格游戏的用户输入 def receiving inputs self while True events pg event get for event in events if event type pg KE
  • 如何在 VB.NET 中从资源播放 .wav

    我正在完善一个 VB NET 刽子手游戏 我添加了当你赢得比赛时火鸡狼吞虎咽的声音 当你获胜时 这是我的循环 Dim sndPing As New SoundPlayer My Resources turkey sndPing Play M
  • 使用 WS4J 进行句子相似度

    我想使用 ws4j 计算两个句子之间的相似度 我正在使用 WS4J 的在线演示 WS4J 在线演示 http ws4jdemo appspot com br I am using the default example sentences
  • 将 %20 替换为破折号

    当我回显下面的变量时 空格表示为 20 row title 所以 举例来说 如果 row title 等于 葡萄牙粉碎朝鲜 它的回响是Portugal 20Crushes 20North 20Korea 在我的源代码中 我如何替换每个 20
  • Netbeans JDK 校准 8.1

    如何使用 Netbeans 8 1 进行 JDK 校准 我用谷歌搜索了一些并找到了这个链接here https profiler netbeans org docs help 5 5 calibration html 它说 选择配置文件 g
  • 如何将 NSInteger 转换为 int?

    例如当通过一个value发消息给NSInteger像这样的实例 a value 它会导致 EXC BAD ACCESS 那么如何转换NSInteger to int 如果相关 则仅使用 Ta da NSInteger myInteger 4
  • 动态(取消)链接正在运行的(gstreamer)管道中的元素?

    gstreamer 文档中有大量有关构建和运行静态管道的示例 但是 关于更改 重新链接元素中的内容并不多live管道 当介质实际流动时 这绝对是可能的 所以问题是 在尝试此操作之前我应该 了解哪些 gstreamer 概念 机制 有什么需要
  • 创建对象实例而不调用构造函数?

    在 C 中 有没有一种方法可以实例化类的实例而不调用其构造函数 假设该类是公共的 并且是在第三方库中定义的 并且构造函数是内部的 我想要这样做的原因很复杂 但了解是否可以使用某种 C hackery 会很有帮助 注意 我特别不想调用任何构造
  • 将数据类型 TYPE_4BYTE_ABGR 的字节数组转换为 BufferedImage

    我有一个类型为 TYPE 4BYTE ABGR 的字节数组 并且我知道它的宽度和高度 我想将其更改为 BufferedImage 有什么想法吗 最快的创建方法BufferedImage从字节数组中TYPE 4BYTE ABGR形式 是将数组
  • Opengl Iphone SDK:如何判断您是否正在触摸屏幕上的物体?

    首先是 TouchBegan 函数 然后是存储对象值的结构 我有一个由这些对象组成的数组 我试图弄清楚当我触摸屏幕时是否正在触摸屏幕上的对象 我不知道是否需要通过迭代所有对象并弄清楚我是否以这种方式触摸对象来做到这一点 或者也许有一种更简单
  • htaccess mod_rewrite:重定向所有子域,排除一些

    有很多类似的问题 但我找不到这个具体问题的答案 在我的 htaccess 中 我重写了将所有子域重定向到http example com http example com RewriteCond HTTP HOST example com
  • 是“使用 std::begin;”一个好的做法?

    据我读到 begin some vector 比更标准some vector begin 因为数组支持 而且据我所知 使用using keyword这并不是真正理想的行为 但是 我也看到很多代码只包含这两个usings using std
  • Spring Boot 应用程序在启动时终止

    我正在尝试一个简单的 Spring Boot 应用程序 它总是自动关闭 Spring Boot v1 4 1 RELEASE 2016 10 23 13 05 21 681 INFO 16532 main com example RestB
  • 从 Oracle 实例创建内存数据库结构

    我有一个应用程序 其中有很多 unit 测试在执行期间使用与 Oracle 数据库的真实连接 正如您可以想象的那样 这些测试需要花费太多时间来执行 因为它们需要初始化一些 Spring 上下文 并与 Oracle 实例进行通信 除此之外 我
  • 根据情况确定铁路路线

    我有三个角色 教师 学生 管理员 每个角色都有带有 主页 视图的控制器 所以这工作正常 get instructor home to gt instructor home get student home to gt student hom
  • 在 Javascript 中获取今天的日期

    如何以这种格式获取 Javascript 中的当前日期 月 日 年 Thanks 如果这是今天的话 2 17 2011 如果是第三个 则为 2 3 2011 Thanks var currentTime new Date var month
  • 如何使用 Selenium 查找 CloudFlare 人工验证元素

    浏览器是FireFox 语言是Python 我无法完成CloudFlare人工验证 在这个网站 https chat openai com chat https chat openai com chat 我无法通过以下代码找到 mark 元