当前位置:   article > 正文

Python实践之八大定位方式_python定位

python定位

1、定位元素第一步,浏览器中按F12,打开开发者调试工具

2、定位元素第二步,实例化浏览器,打开浏览器地址,最大化浏览器窗口

  1. from selenium import webdriver
  2. from selenium.webdriver.common.by import By
  3. driver=webdriver.Chrome() #实例化浏览器
  4. url='http://xxx.testedu.com/'
  5. driver.get(url)
  6. driver.maximize_window()

3、定位元素第三步,定位元素原理

寻找元素,html中的标签或则标签中的属性,通过元素的路径来寻找类似于文件夹中通过文件路径来寻找文件,通过元素的属性来寻找类似于通过文件类型或则名称来寻找文件。

4、定位元素第四步,八大元素定位方式

"""
八大元素定位
ID='id'
XPATH='xpath'
LINK_REXT='link text'
PARTIAL_LINK_TEXT='partial link text'
NAME='name'
TAG_NAME='tag name'
CLASS_NAME=’class name‘
CSS_SELECTOR='css selector'
"""
  1. #link_text,方式一
  2. ele1=driver.find_element(By.LINK_TEXT,'登录')
  3. ele1.screenshot('截图/link_text登录链接截图.png')
  4. #partial_link_text,方式二
  5. ele2=driver.find_element(By.PARTIAL_LINK_TEXT,'注册')
  6. ele2.screenshot('截图/partial_link_text注册截图.png')
  7. #name,方式三
  8. ele3=driver.find_element(By.NAME,'wd')
  9. ele3.screenshot('截图/name输入框元素截图.png')
  10. #tag_name,方式四
  11. ele4=driver.find_element(By.TAG_NAME,'button')
  12. ele4.screenshot('截图/tag_name搜索按钮元素截图.png')
  13. #找多个元素,find_elements,tag_name
  14. eles=driver.find_elements(By.TAG_NAME,'a') #find_elements返回多个元素
  15. eles[24].screenshot('截图/tag_name多个元素定位截图.png')
  16. #class_name,方式五
  17. ele5=driver.find_elements(By.CLASS_NAME,'am-btn')
  18. ele5[0].screenshot('截图/class_name搜索按钮截图.png')
  19. #xpath,方式六 路径定位,相对路径/绝对路径,通过路径定位到3个,find_element默认返回第一个,a为标签,href为标签属性,用@来表示标签内的属性
  20. ele6=driver.find_element(By.XPATH,'//a[@href="http://xxx.testedu.com/index.php?s=/index/user/logininfo.html"]')
  21. #ele6=driver.find_element(By.XPATH,'//a[text()="登录"]')
  22. #ele6=driver.find_element(By.XPATH,'html/body/div/div/ul/div/div/a[text()='登录']')
  23. ele6.click()
  24. #css_selector, 方式七 .表示申明的是css(即class属性),#表示申明id属性
  25. #ele7=driver.find_element(By.CSS_SELECTOR,'.submit.am-btn>i.am-icon-search')
  26. #ele7=driver.find_element(By.CSS_SELECTOR,'html>body>div>div>ul>div>div.menu-hd>a')
  27. ele7=driver.find_element(By.CSS_SELECTOR,'button#ai-topsearch')
  28. ele7.screenshot('截图/css定位搜索按钮.png')
  29. #id,通过id定位,方式八
  30. ele8=driver.find_element(By.ID,"ai-topsearch")
  31. ele8.screenshot('截图/id定位搜索按钮.png')
  32. #4.0以上版本特有的元素定位方法,网格定位,locate_with,to_right_of,to_left_of,near
  33. ele9=driver.find_element(locate_with(By.TAG_NAME,"a").to_right_of(ele6)) #网格定位登录元素右边的注册元素
  34. ele9.click()

5、定位元素第五步,定位元素后生成截图,并保存到固定文件夹

  1. driver.get_screenshot_as_png() #浏览器的截图
  2. #生成截图的保存
  3. ele=driver.find_element(By.ID,'search-input') #寻找元素
  4. ele.screenshot("截图/搜索框.png") #元素的截图保存,保存在脚本文件夹下
  5. ele.screenshot("../截图文件夹/搜索框.png") #相对路径元素的截图保存,保存在指定的文件夹下

保存在脚本文件夹下图片示例:

 

保存在指定文件夹下图片示例

 6、定位元素第六步,元素内寻找元素

  1. ele10=driver.find_element(By.ID,"ai-topsearch") #寻找元素
  2. ele11=ele10.find_element(By.CSS_SELECTOR,".am-icon-search") #元素内寻找元素
  3. ele11.screenshot("截图/元素内寻找元素搜索按钮图标.png")

以上就是针对八大元素定位的总结,可以根据实际情况使用元素定位方式,从脚本的稳定性考虑,定位到的元素尽量只有唯一的一个。

 

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号