Selenium find_elements_by_css_selector 返回一个空列表

2024-04-27

我正在尝试选择包含以下内容的所有 idcoupon-link关键字与以下脚本。

from selenium import webdriver
from selenium.webdriver.common.keys import Keys

driver = webdriver.Firefox()
driver.get("http://udemycoupon.discountsglobal.com/coupon-category/free-2/")
elems = driver.find_elements_by_css_selector('[id~=\"coupon-link\"]')
print(elems)

但我得到了一个空列表[]作为结果。我的 css_selector 有什么问题吗?

我已经测试过了find_elements_by_css_selector('[id=\"coupon-link-92654\"]')工作成功。但我想选择所有优惠券链接,而不仅仅是其中之一。

我参考了该文档w3schools.com http://www.w3schools.com/cssref/css_selectors.asp.


Selenium CSS 仅支持三个部分匹配运算符,即 -$^*.

CSS 部分匹配表达式不正确 - 使用* or ^详细信息在here http://seleniumtestautomationtipsandtricks.blogspot.com/2013/01/find-elements-with-partial-match-on.html and here http://saucelabs.com/resources/selenium/css-selectors。您可以使用xpath too.

from selenium import webdriver
from selenium.webdriver.common.keys import Keys

driver = webdriver.Firefox()
driver.get("http://udemycoupon.discountsglobal.com/coupon-category/free-2/")

#select by css
#try *
css_lnks = [i.get_attribute('href') for i in driver.find_elements_by_css_selector('[id*=coupon-link]')]
#or try ^
#css_lnks = [i.get_attribute('href') for i in driver.find_elements_by_css_selector('[id^=coupon-link]')]

#select by xpath
xpth_lnks = [i.get_attribute('href') for i in driver.find_elements_by_xpath("//a[contains(@id,'coupon-link-')]")]

print xpth_lnks
print css_lnks
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Selenium find_elements_by_css_selector 返回一个空列表 的相关文章

随机推荐

  • 获取 gradle 构建的 aapt2 参数?

    我有兴趣尝试使用 aapt2 从命令行编译 Android 应用程序 当我尝试执行以下操作时 链接约束布局库时遇到问题aapt2 link命令 该程序从 Android studio gradle 成功构建 如何使 gradle 命令行调用
  • ASP.NET Core 2.2 中的路由本地化

    我正在使用 ASP NET Core 2 2 开发应用程序 并且正在努力解决如何实现路由本地化的问题 例如 根据请求 如果路线中未指定语言 我需要重定向到路线 en products 如果未指定语言 则从接受语言标头获取区域设置 下面的de
  • 如何在 Spring MVC 中使用延迟加载

    Spring MVC中如何使用延迟加载 我现在正在使用 eager 但这会使我的应用程序运行速度变慢 这是我的域的一部分 ManyToMany fetch FetchType EAGER JoinTable name NEWS TAG jo
  • 直接屏幕像素/帧缓冲区访问[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我想尝试创建一个玩游戏的程序 IE 机器人 我希望能够直接访问屏幕上的像素 IE 让我的程序 看到 一场比赛 然后 采取行动 或者至少
  • Windows批处理文件-显示所有子文件夹

    我在使用 Windows 批处理文件返回 JUST 文件夹 忽略文件 时遇到困难 这就是我现在所拥有的 目前它正在返回文件和子子文件夹 for r g in xx do echo g 另外 假设我只想返回以几个不同前缀开头的文件夹 例如 我
  • 如何向 gitlab-ci.yml 添加多行 bash EOD 命令?

    这个问题已被问过多次 但大多数问题都很容易解决 尽管使用工具expect它没有像我预期的那样工作 usr bin expect lt
  • 在openxml中向Excel添加样式

    我想在打开的 Excel 文档中设置文本的前景色以写入文本 为此我尝试过 var stylesheet1 spreadSheet WorkbookPart WorkbookStylesPart Stylesheet Fills fills1
  • FF Addon SDK 有打开设置页面的 API 吗?

    I use 简单首选项 https developer mozilla org en US Add ons SDK High Level APIs simple prefs模块来配置插件设置 我怎么能够以编程方式打开插件的设置页面 我们这样
  • 无法使用激活器(Play Framework)加载本机库

    我正在尝试在 Play 2 4 x 应用程序中加载本机库 我编写了一个简单的测试 该测试在 IDE IntelliJ 和 SBT 中都运行良好 在这两种情况下我都设置java library path让测试运行 我在IDE中设置 Djava
  • 为什么我的 BST 根指针由于某种未知原因而发生变化?

    我正在尝试用 C 语言实现二叉搜索树数据结构 但遇到了一个错误 我的指针值由于我不明白的原因而发生变化 请参阅帖子底部的奇怪输出 删除函数和主要函数澄清输出来自何处 我的测试功能如下 int main void Bst bst Bst ca
  • 如何在 Dart 和 Flutter 中将时间四舍五入到最接近的一刻钟?

    我有一个DateTime并愿意四舍五入至 15 秒 或其他间隔 例如 2020 03 16 12 23 53 756 到 2020 03 16 12 23 45 000 和 2020 03 16 12 24 01 1234 到 2020 0
  • 如何缩进现有 OCaml 代码

    我有大约 30 000 行缩进严重的 OCaml 代码 包括 mly 和 mll 文件 并且想要缩进它们 我尝试在谷歌上搜索 ocaml indent 的变体 我能得到的最接近的结果是使用 Omlet vim 并一次缩进一行代码 在插入模式
  • 我的 React 项目中 Firestore 数据库的读取次数非常多

    我正在使用 React 和 firebase firestore 制作一个简单的 CRUD 应用程序 我目前有一组 产品 有四条记录 主页循环显示产品 import React useEffect useState from react i
  • 如何从模板类中的方法返回 NULL

    我有一个如下所示的方法 template
  • 从恶意 PDF 中提取 JavaScript

    我有一个 PDF 文件 据我所知 它包含一个 JavaScript 脚本文件 该文件会执行恶意操作 但目前还不确定具体是什么 我已经成功解压缩了 PDF 文件并获得了纯文本 JavaScript 源代码 但它的代码本身隐藏在我以前从未见过的
  • 为什么 OpenSSL 给我一个“调用了不应调用的函数”错误?

    我正在努力向我的服务器程序添加 OpenSSL 支持 通常它运行得很好 但我遇到了一个问题 首先 一些背景知识 服务器是单线程的 使用非阻塞 I O 和 select 循环来同时处理多个客户端 服务器链接到 libssl 0 9 8 dyl
  • 如何在 OSX .pkg 中设置背景图像?

    我正在为我的 OSX 应用程序创建一个 pkg 安装程序 但我无法弄清楚如何设置背景图像 我在构建脚本中创建安装程序 如下所示 pkgbuild root APP FOLDER identifier com company product
  • 如何关闭 iOS 键盘?

    我有一个 UITextfield 我想关闭键盘 无论我使用什么代码 我似乎都无法让键盘消失 如果您有多个文本字段并且不知道哪个是第一响应者 或者您根本无法从编写此代码的任何位置访问文本字段 您可以调用endEditing 在包含文本字段的父
  • App Engine 日志中的 /_ah/queue/__deferred__

    我有一个使用 Google Cloud SQL 的 App Engine 应用程序 并且从我的应用程序的页面中我正在执行一些数据库操作 每当访问此页面时 它都无法执行所有数据库操作 当我进入控制台时 我看到的只是 ah queue defe
  • Selenium find_elements_by_css_selector 返回一个空列表

    我正在尝试选择包含以下内容的所有 idcoupon link关键字与以下脚本 from selenium import webdriver from selenium webdriver common keys import Keys dr