通过id、classname定位元素,程序仍报找不到元素的原因

很多人在用selenium定位页面元素的时候会遇到定位不到的问题,明明元素就在那儿,用firebug也可以看到,就是定位不到,这种情况很有可能是frame在搞鬼。
我们知道了原因,你现在就解决问题。
switch_to.frame可以通过id,classname,tag_name来定位的,当然也可以根据 element来定位。

 


from selenium import webdriver
import time

driver = webdriver.Firefox()
driver.get("http://www.126.com")
print("Before login.........")
# 打印当前页面title
title = driver.title
print(title)
# 打印当前页面URL
now_url = driver.current_url
print(now_url)
# 执行邮箱登陆
driver.find_element_by_id('lbNormal')
driver.switch_to.frame(driver.find_element_by_xpath('//*[@id="x-URS-iframe"]'))
driver.find_element_by_name("email").clear()
driver.find_element_by_name("email").send_keys("username")
driver.find_element_by_name("password").clear()
driver.find_element_by_name("password").send_keys("password")
driver.find_element_by_id("dologin").click()
# driver.switch_to.default_content()
time.sleep(5)
print("After login......")
# 再次打印当前页面title
title = driver.title
print(title)
# 打印当前页面URL
now_url = driver.current_url
print(now_url)
# 获得登陆的用户名
# user =driver.find_element_by_name('email').text


driver.quit ()

转载于:https://www.cnblogs.com/lystbc/p/7661571.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值