首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Selenium Python绑定:如何在元素上执行JavaScript?

Selenium Python绑定:如何在元素上执行JavaScript?
EN

Stack Overflow用户
提问于 2014-08-19 01:09:26
回答 2查看 13.4K关注 0票数 9

使用python selenium脚本触发selenium服务器运行JavaScript代码。它工作得很好。

代码语言:javascript
复制
drv.execute_script('<some js code>')

但是,我不知道如何在使用get_element_by_*() api检索的元素上运行javascript代码。例如,我

代码语言:javascript
复制
ele = get_element_by_xpath('//button[@id="xyzw"]');
#question: how do I change the "style" attribute of the button element?

如果我在浏览器的开发人员控制台上,我可以这样运行它

代码语言:javascript
复制
ele = $x('//button[@id="xyzw"]')[0]
ele.setAttribute("style", "color: yellow; border: 2px solid yellow;")

只是不知道如何在python selenium脚本中这样做。提前谢谢。

EN

回答 2

Stack Overflow用户

发布于 2014-08-19 01:14:14

execute_script接受参数,因此您可以传递元素:

代码语言:javascript
复制
drv.execute_script('arguments[0].setAttribute("style", "color: yellow; border: 2px solid yellow;")', ele)
票数 14
EN

Stack Overflow用户

发布于 2014-08-19 03:33:04

感谢@Richard的回答,他把我引向了正确的方向,以及Brian的链接(尽管它是针对java的),他帮助我理解了“参数”的含义。

下面的代码将完成我所需要的工作。

代码语言:javascript
复制
ele = get_element_by_xpath('//button[@id="xyzw"]');
drv.execute_script('arguments[0].setAttribute("style", "color: yellow; border: 2px solid yellow;")', ele)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25368547

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档