注册 登录
编程论坛 Python论坛

如何用selenium定位自动生成的class

Ambiton丶 发布于 2019-11-11 23:12, 1294 次点击
想用selenium模拟网易云音乐的登录,但是转到登录框时,发现登录框的class带有自动生成的代码,如何定位呢?
或者说,怎么定位用户名框和密码框 QWQ..有别的登录方法吗,只有可以登录就可以,本菜鸡枯了
只有本站会员才能查看附件,请 登录

程序代码:

from selenium import webdriver

import time

    # 使用chrome浏览器
    driver = webdriver.Chrome()

    # 最大化窗口,linux下可删除此行
    driver.maximize_window()

    # 打开网易云登录页
    driver.get('https://music.')

    time.sleep(3)  # 缓冲,预留页面加载时间

    #勾选协议
    #跳到iframe框架
    iframe = driver.find_element_by_class_name('g-iframe')
    driver.switch_to.frame(iframe)
    protocal = driver.find_element_by_id('j-official-terms')
    protocal.click()
    print('勾选协议成功')

    #
    # #点击手机号登录
    useLogin = driver.find_element_by_xpath('// *[ @ id = "login-list"] / div / div[1] / div[2] / a')
    useLogin.click()
    print('手机号登录成功')
    #

    time.sleep(1)
    #定位到登录弹出框
    search_input = driver.find_element_by_xpath('//*[@id="auto-id-Z8UlV4lD808NecRQ"]/div[4]') #这个是错的
    # # 找到用户名输入框,并填入用户名
    search_input1 = search_input.find_element_by_id('p')
    # search_input1.clear()
    search_input1.send_keys('qaq')
    #
    # # 找到密码输入框,并填入密码
    search_input2 = search_input.find_element_by_id('pw')
    # search_input2.clear()
    search_input2.send_keys('***')
    #


[此贴子已经被作者于2019-11-15 21:28编辑过]

0 回复
1