首页 > 编程语言 > 详细

python+selenium元素定位02——层级定位

时间:2020-04-06 01:06:42      阅读:137      评论:0      收藏:0      [点我收藏+]

层级定位

 1、定位一组对象  find_elements()

技术分享图片

 举例:
current = os.getcwd()
chrome_driver_path =os.path.join(current,../webdriver/chromedriver)
page_path = os.path.join(current,../pages/element_samples.html) #本地html文件
driver = webdriver.Chrome(executable_path=chrome_driver_path)

driver.get(file://‘+page_path)
# driver.implicitly_wait(20)
elems = driver.find_elements(By.XPATH,//*/input[@type="radio"])
print(type(elems),len(elems))
i =0
if elems:
for el in elems:
el.click()
print(第%d次勾选‘%(i+1))
i+= 1
time.sleep(2)
else:
print("没有找到该元素")
driver.quit()

2、两个find_element层级定位:

技术分享图片

 

driver.find_element(By.XPATH,//div[@id="radio"]‘).find_element(By.XPATH,//input[class="AliBaBa"]‘).click()

3、多层网页嵌套(页面有a,b两个frame,其中b在a内,要定位b的内容则需要先定位到a,再切到b)

       1)switch_to_frame()方法,表示把当前定位主题切换到frame里,其参数必须是id或name

      技术分享图片

          举例:
          frame1 = driver.find_element(By.XPATH,//iframe)
          driver.switch_to.frame(frame1)
          driver.find_element(By.XPATH,//*/body/input[@id="input1"]‘).send_keys(dsd)
          driver.find_element(By.XPATH,//*/body/input[2]‘).send_keys(dsd)
          # driver.switch_to_frame(frame1) #方法目前还可用,但是已有新方法
          time.sleep(3)
          driver.quit() 

 

          2)再跳回到主框架页:driver.switch_to.default_content() #跳转主框架页

python+selenium元素定位02——层级定位

原文:https://www.cnblogs.com/miaoxiaochao/p/12639746.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!