网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

Python+Selenium定位页面元素

1.跳转到Frame/Iframe ,再定位元素
理解:frame的实质,frame中实际上是嵌入了另一个页面,而webdriver每次只能在一个页面识别,因此需要先定位到相应的frame,对那个页面里的元素进行定位

站在用户的角度思考问题,与客户深入沟通,找到肃宁网站设计与肃宁网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:成都网站制作、网站建设、企业官网、英文网站、手机端网站、网站推广、域名注册雅安服务器托管、企业邮箱。业务覆盖肃宁地区。

1.1方法一
如果iframe有name或id的话,直接使用switch_to_frame("name值")或switch_to_frame("id值")。如下:
driver=webdriver.Firefox()
driver.get(r'http://www.126.com/')
driver.switch_to_frame('x-URS-iframe') #需先跳转到iframe框架
username=driver.find_element_by_name('email')
username.clear()

1.1方法二
如果iframe没有name或id的话,则可以通过下面的方式定位:
#先定位到iframe
elementi= driver.find_element_by_class_name('APP-editor-iframe')
#再将定位对象传给switch_to_frame()方法
driver.switch_to_frame(elementi)

PS:完成操作后,可以通过switch_to.parent_content()方法跳出当前iframe,或者还可以通过switch_to.default_content()方法跳回最外层的页面

2.Xpath 层级定位
2.1 通过绝对路径定位
例如:find_element_by_xpath("/html/body/div/div/div[2]/div[3]/a[2]").click()

绝对路径是从当前元素往前数最近的一个html 开始数的。
2.2 利用元素属性定位
地图有三个属性,href,name,class。

driver.findElement(By.xpath("//a[@name='tj_trnews']")).click();

driver.findElement(By.xpath("//a[@href='http://news.baidu.com']")).click()

driver.findElement(By.xpath("//a[@class='mnav']")).click();

driver.findElement(By.xpath("//a[contains(@href,\"http://map.baidu.co\")]")).click();

参考资料:
https://www.cnblogs.com/csj2018/p/9194618.html 
https://www.cnblogs.com/yufeihlf/p/5689042.html
http://www.cnblogs.com/yufeihlf/p/5717291.html 

名称栏目:Python+Selenium定位页面元素
浏览路径:http://bjjierui.cn/article/gejeih.html

其他资讯