通过id、classname定位元素,程序仍报找不到元素的原因
2024-08-31 12:39:54
很多人在用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 ()
最新文章
- TCP三次握手图解
- .Net中的并行编程-3.ConcurrentQueue实现与分析
- 委托 C#
- C#复习⑤
- 150923-碎觉要-PHP,Linux
- 【终极解决方案】为应用程序池“XXX”提供服务的进程在与 Windows Process Activation Service 通信时出现严重错误。该进程 ID 为“XXXX”。数据字段包含错误号。
- opencv实现KNN手写数字的识别
- Codeforces Round #226 (Div. 2)C. Bear and Prime Numbers
- ajax局部刷新分页
- Java中泛型的理解
- JPG、PNG和GIF图片的基本原理及优化方法
- UWP Popup 弹出
- Replacement(思维题)
- 在Rancher 1.6上部署Traefik负载均衡器
- <;iframe width=";250"; height=";250"; src=";http://www.baidu.com";>;<;/iframe>;
- Game Engine Architecture 8
- Tomcat的Https设置及Http自动跳转Https
- 新闻类App顶部菜单栏封装
- item 4: 知道怎么去看推导的类型
- dblink连接操作远程数据库
热门文章
- day69-oracle 21-PLSQL课后作业
- CentOS7:ifconfig command not found解决和netstat -an
- unity3d MonoDevelop引用外部自定义dll文件报错:are you missing an assembly reference?
- mongodb3.0版本的2种引擎对比
- Opera福利谷歌
- 解决.jsp及静态资源文件访问404的问题
- WebGoat系列实验Access Control Flaws
- android studio中退出时弹出对话框
- javascript 实现类似百度联想输入,自动补全功能
- Kotlin 数据类型(字符类型)