如何用selenium定位自动生成的class
想用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编辑过]