使用 Selenium Python 执行带有 null 条件的 Jquery

Posted

技术标签:

【中文标题】使用 Selenium Python 执行带有 null 条件的 Jquery【英文标题】:Execute Jquery with null condition using Selenium Python 【发布时间】:2020-12-21 22:47:50 【问题描述】:

您好,我尝试发送如下所示的 javascript

$("img[src|='']").attr('src', result.responseJSON.data);

是将具有空值的图像更改为新值。我正在使用执行脚本,所以它看起来像这样:

driver.execute_script("$("img[src|='']").attr("src", result.responseJSON.data););")

driver.execute_script('$("img[src|='']").attr('src', result.responseJSON.data););')

但它总是返回类似的错误

我还将它签名到一个python变量并使用执行脚本调用它但没有运气,有什么提示可以修复它吗? 提前致谢。

【问题讨论】:

两个想法: 1/ 它可以从 devtools 命令行工作吗? - execute_script == command line(只是操作有点不同),如果你可以在那里运行,你可以让它在其他 2/什么是 img?那是你要传入的对象吗? Img 是一个 html 标签,所以我想将值插入到 您的空标签选择是正确的,但您调用执行脚本的方式完全关闭。 又怎么正确呢? 您是否需要特别定义哪个图像标签?您是否先在控制台中尝试过? 【参考方案1】:

我终于找到了答案,我应该把 escape char 放在 like 之前:

driver.execute_script("$(\"img[src|='']\").attr("src", result.responseJSON.data);")

它有效。

【讨论】:

以上是关于使用 Selenium Python 执行带有 null 条件的 Jquery的主要内容,如果未能解决你的问题,请参考以下文章

有没有办法使用 Selenium 和 Python 绑定执行鼠标悬停(悬停在元素上)?

如何使用 Selenium 和 Python 绕过带有 buster 扩展的 ReCaptcha

Selenium / Python - 带有空格的类名无法本地元素

带有 Selenium 的 Python:从文件系统拖放到 webdriver?

在带有 selenium 的 python 中,如何轮换 IP 地址?

带有Python的Selenium Webdriver - 无法使用Selenium Web驱动程序在Web应用程序中提供输入(Date)