zoukankan      html  css  js  c++  java
  • selenium运行js代码笔记

    # -*- coding: utf-8 -*-
    # @Time : 2019-10-27 20:56
    # @Author : cxa
    # @File : demo.py
    # @Software: PyCharm
    from selenium import webdriver
    from selenium.webdriver.common.by import By
    from selenium.webdriver.support.ui import WebDriverWait
    from selenium.webdriver.support import expected_conditions as EC
    from selenium.webdriver.common.action_chains import ActionChains
    from selenium.webdriver.common.keys import Keys
    from selenium.webdriver.chrome.options import Options
    import time
    
    
    def get_text(id,attr,supporter):
        # script=("let id="+f'"{id}"'+
        #     ";let attr="+f'"{attr}"'+
        #     ";let supporter ="+f'"{supporter}"'
        #     +
        #     """
        #     const run=function(){
        #     let all_str = $(id).getAttribute(attr)
        #     let end_index=supporter.length+58
        #     Base64._keyStr = all_str.substring(0, end_index)
        #     let charset = all_str.substring(64, all_str.length)
        #     let encoded = Base64.decode(charset,supporter);
        #     return encoded
        # }
        # return run()
        # """)
        ###  拼接字符串注意{}要写出{{}},如果需要获取结果最后需要加上return
        script=("""
           let id='{id}'
           let attr='{attr}'
           let supporter ='{supporter}'
        const run=function(){{
        let all_str = $(id).getAttribute(attr)
        let end_index=supporter.length+58
        Base64._keyStr = all_str.substring(0, end_index)
        let charset = all_str.substring(64, all_str.length)
        let encoded = Base64.decode(charset,supporter);
        return encoded
    }}
        return run()
        """).format(id=id,attr=attr,supporter=supporter)
        return script
    
    
    
    chrome_option = Options()
    chrome_option.add_argument("--headless")
    chrome_option.add_argument("--disable-gpu")
    chrome_option.add_argument('--ignore-certificate-errors')  # SSL保存
    browser = webdriver.Chrome(options=chrome_option)
    wait = WebDriverWait(browser, 10)
    # 启动浏览器,获取网页源代码
    mainUrl = "http://127.0.0.1:5002/"
    browser.get(mainUrl)
    result=browser.execute_script(get_text("base64","data","chrome"))
    print(result)
    time.sleep(10)
    browser.quit()
    
    
  • 相关阅读:
    sql相关操作
    web前端技术归类
    在EasyUI中统一判断是否有选中行,如果有则将选中行数据传入回调函数
    几种不同的分页处理办法
    将json格式日期(毫秒数)转成日常日期格式和日常格式时间对比
    在asp.net中导出表格Excel数据
    生成html文件
    EasyUI时间格式化
    checkbox,radio,selected相关操作
    javascript生成n至m的随机整数
  • 原文地址:https://www.cnblogs.com/c-x-a/p/12133393.html
Copyright © 2011-2022 走看看