zoukankan      html  css  js  c++  java
  • selenium-绕过登录

    第一种方式:chrome-debug

    1.现在终端输入一下命令,启动Chrome-debug模式
        #windows
            a.首先将chrome的环境添加到PATH中
            b.进入cmd 命令栏,输入:chrome.exe --remote-debugging-port=9222 --user-data-dir="C:selenumAutomationProfile"
                对于-remote-debugging-port值,可以指定任何打开的端口。
                对于-user-data-dir标记,指定创建新Chrome配置文件的目录。它是为了确保在单独的配置文件中启动chrome,不会污染你的默认配置文件。
     
        #mac
        /Applications/Google Chrome.app/Contents/MacOS/Google Chrome -remote-debugging-port=9999
    2.代码中实现
    import allure
    from selenium import webdriver
    from selenium.webdriver.common.by import By
    
    
    class TestHomework:
        # 初始化driver
        def setup_method(self):
            chrome_options = webdriver.ChromeOptions()
            chrome_options.debugger_address = "127.0.0.1:9999"
            self.driver = webdriver.Chrome(options=chrome_options)
    
            self.driver = webdriver.Chrome()
            with allure.step("打开testerhome"):
                self.driver.get("https://testerhome.com")
                self.driver.implicitly_wait(10)
    
        def teardown_method(self):
            self.driver.quit()
        def test_info(self):
            self.driver.find_element(By.CSS_SELECTOR, "#main-nav-menu a[href*='topics']").click()
    

    第二种方式:通过添加cookie

    
    
    import time
    
    from selenium import webdriver
    from selenium.webdriver.common.by import By
    from selenium.webdriver.support import expected_conditions
    from selenium.webdriver.support.wait import WebDriverWait
    
    
    class TestCookies:
        def setup(self):
            self.driver = webdriver.Chrome()
            self.driver.implicitly_wait(3)
            self.driver.get("https://work.weixin.qq.com/wework_admin/frame#contacts")
            cookies = {
                "wwrtx.vst": "19NQ2XtpdMSwwUH6pWX7FsQzCBGQ_ykd68GEdTXYEInKF0mAkFlqMjtJJBakRbMlU5-domydDDsxm9kZtTuBysVewHAXBOF02zONgDyGs9Qxt0NWzvpODJ8Jh_9sFWKXv08JKGe0LEeg-U3DjZcYjmtuXpnMC3sSeFzqM6XMzK7A91NwrcQyghDmlIPNJwNA2I_zfxvIWhi-EVAQzFJwMs2cxfNh5tqeE6SuCYp2N58NjF93c9b1xSkH4BVuwTsjNDzxWD2lh01VfQsWEgerBg",
                "wwrtx.d2st": "a3327543",
                "wwrtx.sid": "5KLjjmW-aMstJ0AquQESE7Zesy2gaWElilhy_KxvWmOlq7vkFbDlwaBDVCwcvyzE",
                "wwrtx.ltype": "1",
                "wxpay.corpid": "1970324954080438",
                "wxpay.vid": "1688851903656484",
            }
            for k, v in cookies.items():
                self.driver.add_cookie({"name": k, "value": v})
    
            self.driver.get("https://work.weixin.qq.com/wework_admin/frame#contacts")
    
        def teardown(self):
            time.sleep(3)
            self.driver.quit()
    
        def test_01(self):
            WebDriverWait(self.driver, 5).until(
                expected_conditions.visibility_of_element_located((By.CSS_SELECTOR, ".ww_operationBar:first-child "
                                                                                    ".js_add_member")))
    
            self.driver.find_element(By.CSS_SELECTOR, ".ww_operationBar:first-child .js_add_member").click()
    
  • 相关阅读:
    学习 JS 内容知识点与个人感悟【2】
    学习两天hml的感悟
    编程一星期感悟(上)
    java基础及练习题
    java基础程序代码及Scanner和Random
    java中Random和Scanner及其循环语句
    java语言及数据类型
    SQL含义+单行函数
    DTL+数据字典+序列、索引、视图
    sql plus及SQL语句
  • 原文地址:https://www.cnblogs.com/an5456/p/11300425.html
Copyright © 2011-2022 走看看