怎样把python变量传递到javascript语句中起作用呢?
最近在用Python写一个Selenium的项目主程序是python语言
python变量:
title = "ABCDEFG"
但是因为中间需要用到改变html里面元素的text属性,所以使用了js语句帮忙
element = wd.find_element_by_xpath('//*[@id="tinymce"]/p/span')
wd.execute_script('arguments.innerText = (title)', element)
显然excute_script这样直接引用python变量是错误的。
python的变量 title在js语句里没法用。
请教各位大神如何解决? python 里模拟js 只需要将变量作为参数传过去
我相信肯定有地方调用js方法才运行js代码 'arguments.innerText ={}'.format(title), 字符串拼接呀 js = 'arguments.innerText = ('+title+')'
wd.execute_script(js, element) 还是delphi好啊,左手拈着python,右手拈着js
组件传参就是方便啊。 字符串拼接传参,例如:
#4.通过javascript设置浏览器窗口的滚动条位置
x=100
y=450
js="window.scrollTo({},{});".format(x,y)
driver.execute_script(js) 谢谢!非常感谢各位大神鼎力相助{:1_893:}{:1_893:} 已解决:
参照了楼上几位提点的方法,之前试了几种都没成功(理论上行得通呀...)
后来发现是格式的问题 (wd.execute_script(arguments.innerText = 'ABCDEFG', element))#(之前没注意漏了引号)
已经完美解决问题:
title = "ABCDEFG"
js = f"arguments.innerText = '{title}'"(关键在这一步,还是python的语法,变量赋值,形成字符串的功能,过程中print一下看下结果就行)
element = wd.find_element_by_xpath('//*[@id="tinymce"]/p/span')
wd.execute_script(js, element)
页:
[1]