鱼C论坛

 找回密码
 立即注册
查看: 2533|回复: 4

t淘宝登录后弹窗问题

[复制链接]
发表于 2020-8-13 11:11:11 | 显示全部楼层 |阅读模式
1鱼币
鱼佬们看看

这是代码

这是代码

这是弹窗

这是弹窗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-8-13 11:11:44 | 显示全部楼层
没反应
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-8-13 12:32:36 | 显示全部楼层

建议发完整代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-8-13 14:41:00 | 显示全部楼层
1q23w31 发表于 2020-8-13 12:32
建议发完整代码

from selenium import webdriver
import time

class loginclass:

    def __init__(this):
        # chrome_options 初始化选项
        this.chrome_options = webdriver.ChromeOptions()
        this.chrome_options.add_experimental_option("excludeSwitches", ['enable-automation'])
        # 不加载图片,加快访问速度
        # this.chrome_options.add_experimental_option("prefs", {"profile.managed_default_content_settings.images": 2})
        # 关闭开发者模式
        this.chrome_options.add_experimental_option("useAutomationExtension", False)
        # 设置为开发者模式,避免被识别
        # this.chrome_options.add_experimental_option('excludeSwitches', ['enable-automation'])
        this.web_driver = webdriver.Chrome(r"D:\Users\Liht\PycharmProjects\taobao\taobao\chromedriver.exe",options=this.chrome_options)
        # this.web_driver_wait = WebDriverWait(this.web_driver, 10 , 0.5)
        # 通过浏览器的dev_tool在get页面钱将.webdriver属性改为"undefined"
        this.web_driver.execute_cdp_cmd("Page.addScriptToEvaluateOnNewDocument", {
                "source": """Object.defineProperty(navigator, 'webdriver', {get: () => undefined})""",
                })

        this.url = 'https://login.taobao.com/member/login.jhtml'
        this.username = "."
        this.password = "."

    def get_login_cookie(this):
        # this.chrome_options = webdriver.ChromeOptions()
        # this.chrome_options.add_experimental_option("excludeSwitches", ['enable-automation'])
        # this.chrome_options.add_experimental_option("prefs", {"profile.managed_default_content_settings.images": 2})
        # # 关闭开发者模式
        # this.chrome_options.add_experimental_option("useAutomationExtension", False)
        # browser = webdriver.Chrome(r"D:\Users\Liht\PycharmProjects\taobao\taobao\chromedriver.exe", options=this.chrome_options)
        # # 通过浏览器的dev_tool在get页面钱将.webdriver属性改为"undefined"
        # browser.execute_cdp_cmd("Page.addScriptToEvaluateOnNewDocument", {
        #     "source": """Object.defineProperty(navigator, 'webdriver', {get: () => undefined})""",
        # })
        this.web_driver.get(this.url)
        # browser.maximize_window()  # 最大化
        # 填写用户名密码
        id = this.username
        password = this.password

        this.web_driver.find_element_by_xpath('//*[@id="fm-login-id"]').clear()
        this.web_driver.find_element_by_xpath('//*[@id="fm-login-id"]').send_keys(id)
        this.web_driver.find_element_by_xpath('//*[@id="fm-login-password"]').clear()
        this.web_driver.find_element_by_xpath('//*[@id="fm-login-password"]').send_keys(password)
        time.sleep(2)
        # 登录    //*[@id="J_GetCode"]
        this.web_driver.find_element_by_xpath('//*[@id="login-form"]/div[4]/button').click()
        # print('登录成功\n')

        if this.is_element_exist("#J_GetCode"):
            this.web_driver.find_element_by_xpath('//*[@id="J_GetCode"]').chick()
            yzm = input("请输入手机验证码:")
            this.web_driver.find_element_by_xpath('//*[@id="J_Phone_Checkcode"]').send_keys(yzm)
            this.web_driver.find_element_by_xpath('//*[@id="submitBtn"]').chick()

        #登录后弹框=》跳过
        # if this.is_element_exist("/html/body/div[5]/div/div[2]/div[3]/div[2]"):
        this.web_driver.find_element_by_xpath('/html/body/div[5]/div/div[2]/div[3]/div[2]').chick()
        if this.is_element_exist("#container"):
            this.web_driver.find_element_by_xpath('//*[@id="container"]/div/div[2]/div[1]/div/div/div[3]/div[1]/ul/li[1]/a').click()

        input("禁止跳出")


    def is_element_exist(this,css):
        s = this.web_driver.find_elements_by_css_selector(css_selector=css)
        if len(s) == 0:
            print("元素未找到:%s"%css )
            return False
        elif len(s) == 1:
            return True
        else:
            print("找到%s个元素:%s"%(len(s),css))
            return False

if __name__ == '__main__':
    loginclass().get_login_cookie()
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-8-13 17:37:22 | 显示全部楼层
<div class="indexnotice-step-1JI8T indexfooter-item-1lnBd">跳过</div>

body > div:nth-child(15) > div > div.indexnotice-body-5-O5b > div.indexnotice-footer-cRiPs > div.indexnotice-step-1JI8T.indexfooter-item-1lnBd

document.querySelector("body > div:nth-child(15) > div > div.indexnotice-body-5-O5b > div.indexnotice-footer-cRiPs > div.indexnotice-step-1JI8T.indexfooter-item-1lnBd")

--antd-wave-shadow-color: #1890ff;
font: 12px/1.5 tahoma,arial,'Hiragino Sans GB',"Microsoft Yahei",\5b8b\4f53,sans-serif;
-webkit-font-smoothing: antialiased!important;
font-family: tahoma, arial, "Hiragino Sans GB", "Microsoft Yahei", sans-serif;
font-size: 16px;
line-height: 1.28571;
text-align: right;
box-sizing: border-box;
user-select: none;
display: inline-block;
cursor: pointer;
color: #3386f1;
margin-left: 24px;

/html/body/div[5]/div/div[2]/div[3]/div[2]
这些是审查元素拷贝出来的不同类型
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-19 11:11

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表