注册 登录
编程论坛 Python论坛

求助,模拟大麦网登录,seleium定位不到登录元素

bin376240554 发布于 2019-08-14 16:02, 4427 次点击
只有本站会员才能查看附件,请 登录


想用seleium模拟登录大麦网,但是一直无法定位到用户名和密码,查百度说是因为iframe的关系.跟着尝试之后还是不行.
求大神指导一下!
10 回复
#2
wp2319572019-08-14 16:05
回复 楼主 bin376240554
网址 和你的代码   ???
#3
bin3762405542019-08-14 16:08
回复 2楼 wp231957
from selenium import webdriver
from time import time
from selenium.webdriver.support import ui
from selenium. import By

wb = webdriver.Chrome('D:\python库\chromedriver')
wb.get('https://detail.')

# 判断是否登录
if wb.find_element_by_xpath('/html/body/div[1]/div/div[3]/div[1]'):
    # 点击登录按钮
    wb.find_element_by_xpath('/html/body/div[1]/div/div[3]/div[1]').click()

    # 切入iframe,这里报错!!!!
    #
    # Message: no such frame: element is not a frame
    wb.switch_to.frame(wb.find_element_by_xpath('//*[@id="alibaba-login-iframe"]'))
   
    # 输入用户名和密码
    wb.find_element_by_xpath('//*[@id="fm-login-id"]').send_keys('123213')
    wb.find_element_by_xpath('//*[@id="fm-login-password"]').send_keys('123123')
   
# 登录状态
else:
    # 选择1080价位
    wb.find_element_by_xpath('/html/body/div[2]/div/div[1]/div[1]/div/div[2]/div[3]/div[5]/div[2]/div/div[5]').click()
    # 点击选座按钮
    wb.find_element_by_xpath('/html/body/div[2]/div/div[1]/div[1]/div/div[2]/div[3]/div[7]/div').click()

wb.close()
#4
bin3762405542019-08-14 16:09
回复 2楼 wp231957
请大佬帮我看看
#5
wp2319572019-08-14 16:14
回复 3楼 bin376240554
这个好像是换页面了  你切换一下页面试一下  wb.switch_to.window(wb.window_handles[1])

把这些都去掉
# 切入iframe,这里报错!!!!
    #
    # Message: no such frame: element is not a frame
    wb.switch_to.frame(wb.find_element_by_xpath('//*[@id="alibaba-login-iframe"]'))

[此贴子已经被作者于2019-8-14 16:16编辑过]

#6
bin3762405542019-08-14 16:36
回复 5楼 wp231957
wb.switch_to.window(wb.window_handles[1]), 报错了
只有本站会员才能查看附件,请 登录


能不能帮我写一个?只要能定位的输入框和密码框就行了
#7
wp2319572019-08-14 16:37
以下是引用bin376240554在2019-8-14 16:36:18的发言:

wb.switch_to.window(wb.window_handles[1]), 报错了


能不能帮我写一个?只要能定位的输入框和密码框就行了

这说明没有切换页面  我试一下吧  
#8
bin3762405542019-08-14 17:15
回复 7楼 wp231957
感谢!
#9
wp2319572019-08-14 18:29
回复 8楼 bin376240554
挑战成功:
程序代码:

# coding: utf-8
from selenium import webdriver as wd
import time

if __name__ == '__main__':
   browser = wd.Firefox()
   browser.maximize_window()
   browser.get("https://www.")
   time.sleep(2)
   browser.find_element_by_xpath("//span[@class='span-box-header span-user']").click()
   time.sleep(2)
   browser.switch_to.frame('alibaba-login-box')
   browser.find_element_by_id('fm-login-id').send_keys("张三")  
   browser.find_element_by_id('fm-login-password').send_keys("张三密码")  
   


只有本站会员才能查看附件,请 登录
#10
bin3762405542019-08-14 19:18
回复 9楼 wp231957
厉害,感谢大佬!!!
#11
phiplato2020-04-25 07:26
拖动滑块立马提示错误。
1