Python 3、selenium/执行js命令显示隐藏元素,封装js工具类

编程知识 行业动态 更新时间:2024-06-13 00:20:50

为什么需要js?

我们需要执行函数,但是实现成本很高或很难甚至无法实现事件的时候,可以直接通过js命令调用

页面上有些元素无点击事件,不可点击等,调用js直接实现效果即可

还有种种原因导致,没达到我们想要的效果。

使用js是一种途径(方法)

1.添加 webdriver依赖

from selenium import webdriver

2.编写js命令,存储为字符串形式

# js = "document.getElementsByClassName(\"" + className + "\")[0].style.display='block';"
js = "document.getElementsByClassName(hhidden)[0].style.display='block';"  #根据ClassName寻找,注意ELements
js = "document.getElementsById(name)[0].style.display='block';"  #根据Id

3.执行js命令

driver = webdriver.Chrome()  # 获取Chrome驱动
driver.execute_script(js)  # 执行js

4.完整代码

# -- coding:utf-8 --

from selenium import webdriver

driver = webdriver.Chrome()
js = "document.getElementsByClassName(hhidden)[0].style.display='block';"
driver.execute_script(js)

5.只作为脚本执行

# -- coding:utf-8 --

from selenium import webdriver

def run():
    driver = webdriver.Chrome()
    js = "document.getElementsByClassName(hhidden)[0].style.display='block';"
    driver.execute_script(js)

if __name__ == '__main__':
    run()

6.封装成工具

# -- coding:utf-8 --


class jsUtil:
    """生成js语句的工具"""

    def __init__(self):
        """实例化js工具"""
        self.index = 0

    def displayFormClass(self, className, index=None):
        """返回将class的隐藏元素显示出来的js语句"""
        js = "document.getElementsByClassName(\"" + className + "\")["
        if index != None:
            js = js + str(index)
        else:
            js = js + str(self.index)
        js = js  + "].style.display='block';"

        return js

 

 

 

更多推荐

Python 3、selenium/执行js命令显示隐藏元素,封装js工具类

本文发布于:2023-03-30 16:50:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/33503f6bce53cd9563593a81dcdb15d7.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:元素   命令   工具   Python   selenium

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!