玩转selenium 教你怎么让selenium运行js代码

2025-10-29 06:29:41

1、开始之前,我们必须要安装有selenium,不会装的请看引用经验,谢谢。

打开cmd命令提示符,pip show selenium

可见小编这里是selenium3.13,没错,我们这里就是以selenium3为例

玩转selenium 教你怎么让selenium运行js代码

2、我们所有代码以驱动IE浏览器为例,在此之前,请自行准备好IE浏览器驱动。没有的小伙伴可以在经验最下方给小编投票,留下邮箱,小编第一时间会给小伙伴发过去。

小编手里的是IEDriverServer 3.6.0.0 在IE8可完美运行

32位和64位的都有

OK,这里我们开始写代码

#-*- conding:utf8 -*-

from selenium import webdriver

#导入selenium中的webdriver

web = webdriver.Ie(".\IEDriverServer.exe")

#设置驱动程序路径

web.get("https://www.baidu.com")

#打开百度

如图

玩转selenium 教你怎么让selenium运行js代码

3、此时我们可以调用js的一段代码,例如就调用js的Window对象打印一句话"Selenium 执行完毕"

我们要用到的是Selenium库webdriver对象提供的execute_script方法

代码如图

web.execute_script("window.alert('Selenium执行完毕')")

玩转selenium 教你怎么让selenium运行js代码

4、运行代码,可以看到驱动器运行之后,打开了百度页面。

然后调用让js调用了window对象的alert方法,探出了一个对话框。如图

玩转selenium 教你怎么让selenium运行js代码

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的元素,然后发送数据

玩转selenium 教你怎么让selenium运行js代码

6、最后,我们通过js获得该元素的value值。

js代码:

document.getElementById('kw').value;

我们用一个retu变量获取execute_script的返回值。

retu = web.execute_script("document.getElementById('kw').value;")

print(retu)

然后用print打印出

如图

玩转selenium 教你怎么让selenium运行js代码

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代码的时候,怎么把数据返回。

玩转selenium 教你怎么让selenium运行js代码

玩转selenium 教你怎么让selenium运行js代码

玩转selenium 教你怎么让selenium运行js代码

8、事实上,selenium并不是直接把代码嵌入到html文件中,而是以函数的方式。

这样就好办了。

既然是函数形式,我们只需要在js内加入return语句,返回我们想要的结果即可。

retu = web.execute_script("return document.getElementById('kw').value;")

print(retu)

快看,是不是成功获取到数据了呢?怎么样,学会没?点一波关注吧(*^__^*) 

玩转selenium 教你怎么让selenium运行js代码

玩转selenium 教你怎么让selenium运行js代码

1、怎么关注?

在经验的右上角小编头像旁边点击关注,如图。

玩转selenium 教你怎么让selenium运行js代码

2、怎么点赞?

请在经验左侧点赞,如图。

玩转selenium 教你怎么让selenium运行js代码

3、怎么投票?

在经验的下方点击投票,如图。

玩转selenium 教你怎么让selenium运行js代码

4、如果觉得小编写的还不错,可以动动鼠标把它分享给您的朋友。

如何分享,鼠标移动到右下角第一个按钮上,在弹出的选项中进行分享,如图。

不尽感激。

玩转selenium 教你怎么让selenium运行js代码

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢