玩转selenium 教你怎么让selenium运行js代码
1、开始之前,我们必须要安装有selenium,不会装的请看引用经验,谢谢。打开cmd命令提示符,pip show selenium可见小编这里是selenium3.13,没错,我们这里就是以selenium3为例

3、此时我们可以调用js的一段代码,例如就调用js的Window对象打印一句话"Selenium 执行完毕"我们要用到的是Selenium库webdriver对象提供的execute_script方法代码如图web.execute_script("window.alert('Selenium执行完毕')")

5、此时我们可以让可以让js去做一些事情,例如让js去获取某个页面元素的信息。然后再通过selenium返回给python这里,我们就让selenium输入一些信息,然后我们通过枣娣空郅js去获取这个信息。这之前,我们还需要导入Selenium的一个模块。即Keys模块from selenium.webdriver.common.keys import Keys#然后我们让selenium在百度的input标签内输入1个字符串(id为kw)web.find_element_by_id("kw").send_keys("Hello")#找到id位kw的元素,然后发送数据

7、运行结果却是retu为None,即说明没有返回值这到底是怎么回事呢?其实我们可以把js代码修改下,确定js代码获取到了id为kw元素的属性值。代码修改如下。retu = web.execute_script("a = document.getElementById('kw').value;window.alert(a)")print(retu)即我们用一个变量接收document.getElementById('kw').value信息,然后再通过弹对话框方式看看是否成功获取。可见js代码是没问题的,问题就出在我们用execute_script运行js代码的时候,怎么把数据返回。


