标题:求助,模拟大麦网登录,seleium定位不到登录元素
只看楼主
bin376240554
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2019-8-14
 问题点数:0 回复次数:10 
求助,模拟大麦网登录,seleium定位不到登录元素


想用seleium模拟登录大麦网,但是一直无法定位到用户名和密码,查百度说是因为iframe的关系.跟着尝试之后还是不行.
求大神指导一下!
搜索更多相关主题的帖子: 模拟 登录 定位 元素 关系 
2019-08-14 16:02
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:版主
威 望:422
帖 子:13681
专家分:53296
注 册:2012-10-18
得分:0 
回复 楼主 bin376240554
网址 和你的代码   ???

DO IT YOURSELF !
2019-08-14 16:05
bin376240554
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2019-8-14
得分:0 
回复 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()
2019-08-14 16:08
bin376240554
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2019-8-14
得分:0 
回复 2楼 wp231957
请大佬帮我看看
2019-08-14 16:09
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:版主
威 望:422
帖 子:13681
专家分:53296
注 册:2012-10-18
得分:0 
回复 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编辑过]


DO IT YOURSELF !
2019-08-14 16:14
bin376240554
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2019-8-14
得分:0 
回复 5楼 wp231957
wb.switch_to.window(wb.window_handles[1]), 报错了


能不能帮我写一个?只要能定位的输入框和密码框就行了
2019-08-14 16:36
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:版主
威 望:422
帖 子:13681
专家分:53296
注 册:2012-10-18
得分:0 
以下是引用bin376240554在2019-8-14 16:36:18的发言:

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


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

这说明没有切换页面  我试一下吧  

DO IT YOURSELF !
2019-08-14 16:37
bin376240554
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2019-8-14
得分:0 
回复 7楼 wp231957
感谢!
2019-08-14 17:15
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:版主
威 望:422
帖 子:13681
专家分:53296
注 册:2012-10-18
得分:0 
回复 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("张三密码")  
   



DO IT YOURSELF !
2019-08-14 18:29
bin376240554
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2019-8-14
得分:0 
回复 9楼 wp231957
厉害,感谢大佬!!!
2019-08-14 19:18



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-496393-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.347892 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved