当微调器遮盖锚元素时,如何使用 Selenium 和 Python 单击锚元素?

2023-12-12

我是硒的新手,我已经尝试单击锚元素有一段时间了。我已经尝试过 css-selector、lint_text、xpath、absolute xpath 但我仍然无法单击它,而是收到此错误消息:

selenium.common.exceptions.NoSuchElementException: Message: Unable to locate element: Driver Schedule

有谁知道如何解决这个问题?

更新:我现在收到此错误:

selenium.common.exceptions.ElementClickInterceptedException: Message: Element <a href="#/schedule/weekly-view"> is not clickable at point (326,333) because another element <div class="app-spinner-layer active"> obscures it

To click()在文本为的元素上司机时间表因为它是一个<a>你必须诱导的节点WebDriver等待为了element_to_be_clickable()您可以使用以下任一方法定位策略:

  • Using LINK_TEXT:

    WebDriverWait(driver, 20).until(EC.invisibility_of_element((By.CSS_SELECTOR, "div.app-spinner-layer.active")))
    WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.LINK_TEXT, "Driver Schedule"))).click()
    
  • Using PARTIAL_LINK_TEXT:

    WebDriverWait(driver, 20).until(EC.invisibility_of_element_located((By.XPATH, "//div[@class='app-spinner-layer active']")))
    WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.PARTIAL_LINK_TEXT, "Driver Schedule"))).click()
    
  • Using CSS_SELECTOR:

    WebDriverWait(driver, 20).until(EC.invisibility_of_element((By.CSS_SELECTOR, "div.app-spinner-layer.active")))
    WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "li.pll a[href$='weekly-view']"))).click()
    
  • Using XPATH:

    WebDriverWait(driver, 20).until(EC.invisibility_of_element_located((By.XPATH, "//div[@class='app-spinner-layer active']")))
    WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//a[contains(@href,'weekly-view') and contains(., 'Driver Schedule')]"))).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(使用前将#替换为@)

当微调器遮盖锚元素时,如何使用 Selenium 和 Python 单击锚元素? 的相关文章

随机推荐

  • 如何指定一个元素,然后将其包装在 css flexbox 中? [复制]

    这个问题在这里已经有答案了 我认为这还不是 Flexbox 标准的一部分 但是是否有一个技巧可以建议或在某个元素之后强制换行 我想响应不同的页面大小并以不同的方式包装列表 而不需要额外的标记 这样我就不会在下一行上显示 例如 孤立的菜单项
  • Python-仅获取连接的本地网卡的MAC地址[重复]

    这个问题在这里已经有答案了 目标是收集 MAC 地址连接的本地网卡的 不是所有本地 NIC 的列表 通过使用socket and connect to a website 我可以用getsockname 获取IP 用于连接到互联网 但是我怎
  • 在 Woocommerce 购物车和结帐项目中显示自定义字段的值

    我已经在互联网上寻找解决方案一段时间了 但找不到任何合适的解决方案 我在产品页面中使用了多个自定义字段 例如 最短烹饪时间 食物供应量 等 因此 我喜欢在购物车和结帐页面中显示此自定义字段的值 我也尝试了函数文件中的片段并编辑 woocom
  • ES6 深层嵌套对象解构

    我有一个名为this props其中包含 actions Object dirty false form Statement autofill function statement Object statement包含 firstName
  • 将 getopt 与 gdb 一起使用

    刚刚合并getopt进入我的main func getopt设置全局变量optarg对于每个呼叫 逐步通过main with gdb after getopt call optarg总是NULL e g gdb p optarg yet p
  • 使用 jQuery Tablesorter 将行添加到表时如何保留分页器状态?

    我正在使用表排序器插件 http tablesorter com docs 使用jquery 1 4 2 现在我的问题是这样的 用户可以动态地将行添加到表中 但这似乎搞乱了分页 与第一个一样 它会添加到行的第一个 页面 但如果您要转到第二页
  • Symfony 3 中的包罗万象的路线

    我在 Symfony2 中有一个包罗万象的后备路线 但我无法在 Symfony3 中使用 我尝试了这种精确的语法 我的 Symfony2 路线的逐字副本 但没有成功 fallback path req defaults controller
  • 如何获取youtube频道中最新上传视频的id

    在 YouTube 上 我如何获取我订阅的频道的最新上传视频的 ID 网址如 v 用于嵌入我在我的服务器端使用 php 截至2015年4月20日 上述答案似乎不再有效 以下是使用 YouTube 频道 ID 的示例 可以在频道页面的源代码中
  • KivyMD,在android中看不到图标,但在linux上可以工作

    我刚刚使用 buildozer 创建了 apk 文件 但是正如我在主题中所说 在设备上看不到任何图标 在 Linux 中一切正常且看起来很好 但在设备中 所有图标都是空白的 这是我的 buildozer init 要求 我的 ndk sdk
  • 如何更改 scss mixin 中的全局变量

    主题变量 scss Declare a global variable and set it to red color fg primary text red below mixin is used in styles scss to pa
  • 在 Laravel 5.8 中提交后使用 @error 指令从多个输入字段中定位前一个输入字段

    新的 error指令是Laravel 5 8 13 中引入 因此 不要这样做 old if errors gt has email span errors gt first email span endif 你现在可以这样做 new err
  • 如何在我的项目中使用 Chrome 调试 Angular *ngIf 结构指令?

    我想将 Angular 源代码 源映射附加到我生成的 Angular CLI 项目中 以便我可以调试如下指令 ngIf在 Chrome 中 是否可以以某种方式将调试器附加到ng if ts使用一些 angular json 配置 源映射 或
  • 使用 fsolve 的方程组

    我尝试使用以下方法找到方程组的解scipy optimize fsolve在Python 2 7中 目标是计算化学系统的平衡浓度 由于问题的性质 一些常数非常小 现在对于某些组合我确实得到了正确的解决方案 对于某些参数我找不到解决方案 要么
  • 如何防止Python IDLE在运行新脚本时重新启动

    我使用Python 3 6 1 IDLE 我希望能够运行一系列脚本 同时维护本地环境 变量等 就像我已将所有命令逐行输入到 shell 中一样 但是 每当我执行脚本时 环境都会重新启动 并且我会丢失之前执行的所有变量 我可以采取什么措施来防
  • Pandas 数据框中值的矢量化查找

    我有两个 pandas 数据框 其中一个称为orders另一个叫daily prices daily prices如下 AAPL GOOG IBM XOM 2011 01 10 339 44 614 21 142 78 71 57 2011
  • java.util.Scanner 跳过输入请求[重复]

    这个问题在这里已经有答案了 我正在尝试使用接收输入java util Scanner Scanner scanner new Scanner System in int bla scanner nextInt String blubb sc
  • 是否有使用 ExoPlayer 实现 DASH 的非 YouTube 示例?

    您好 我正在寻找配置示例ExoPlayer for DASH 但我发现的例子使用 Youtube 视频 有没有 YouTube 上没有的视频示例 能DASH可以针对互联网上的任何视频进行配置吗 是的 ExoPlayer 可以通过 HTTP
  • 如何将Yii2的ActiveForm复选框设置为选中状态?

    我正在为 Yii2 ActiveForm 复选框控件的 选中 状态寻找一个简单的解决方案 但我找不到如何设置它的解决方案 我在文档中找不到任何示例 我尝试过操纵渲染代码 但看来我需要修改 ActiveForm 本身 如何让复选框默认选中 好
  • 如何停止oracle撤消进程?

    我想知道如何停止oracle的撤消过程 我试图删除一个大表的数百万行 在过程中我终止了会话 但它开始撤消删除 并且在大约两个小时内数据库变得非常慢 我不想继续撤消过程 有什么办法可以阻止它吗 您无法停止回滚事务的过程 因为这样做会使数据库处
  • 当微调器遮盖锚元素时,如何使用 Selenium 和 Python 单击锚元素?

    我是硒的新手 我已经尝试单击锚元素有一段时间了 我已经尝试过 css selector lint text xpath absolute xpath 但我仍然无法单击它 而是收到此错误消息 selenium common exception