webdriver元素定位以及操作

1、打开网页

from selenium import webdriver   #导入库
driver = webdriver.Firefox()      #打开浏览器
driver.get("http://www.baidu.com")   #打开百度
print(driver.current_url)   #可查看当前打开的网址
print(driver.title)   #获取当前页面的标题

2、元素定位

       打开网页后,需要确定所操作控件的位置,因而通过下列常见元素进行定位。(若使用火狐浏览器,可安装try xpath插件进行网页元素查找)。

       选择所需查看的控件,右键-查看元素(即可定位到相应的元素描述),下面将以百度搜索框为例介绍id、name和class name查找元素。

  • id:通过id定位元素,find_element_by_id("kw")
  • name:通过name定位元素,find_element_by_name("wd")
  • class name:通过class name定位元素,find_element_by_class_name("s_ipt")

在选择元素后,需要对元素进行操作。元素的操作方式有:

  • clear:清除元素内容
  • send_keys:模拟按键输入
  • click:点击
  • submit:提交表单
ele1 = driver.find_element_by_id('kw')  #通过id查找元素
ele1.send_keys("你好")
but1 = driver.find_element_by_id("su")   #点击百度一下按键
but1.click()
ele1.clear()

ele2 = driver.find_element_by_name("wd")  #通过name查找元素
ele2.send_keys("baidu")
but1.click()
ele2.clear()

ele3 = driver.find_element_by_class_name("s_ipt")   #通过class name查找元素
ele3.send_keys("day day up")
but1.click()

 

  • link text:通过链接查找元素,如查找百度首页的新闻,find_element_by_link_text("新闻")
  • partial link test:通过相关字符查找元素(模糊查找),如查找百度首页的新闻,find_element_by_partial_link_text("新")
  • css selector:通过css定位元素,(在网页中定位确定css的方法:选择控件,右键-查看元素,选择定位元素区域,右键-复制-css路径,可获取到css),如百度首页把百度设为主页css定位:find_element_by_css_selector("html body div#wrapper div#ftCon div.ftCon-Wrapper div#ftConw p#lh a")

driver.get("http://www.baidu.com")   #打开百度
ele4 = driver.find_element_by_link_text("新闻")   #查找百度首页的新闻
ele4.click()

driver.get("http://www.baidu.com")   #打开百度
ele5 = driver.find_element_by_partial_link_text("新")
ele5.click()
driver.back()

ele6 = driver.find_element_by_css_selector("html body div#wrapper div#ftCon div.ftCon-Wrapper div#ftConw p#lh a")  #打开把百度设为主页
ele6.click()

 

 

 

补充代码中如何添加作者信息:

settings-》Editor-》File and Code Templates

个人信息模板如下:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time    : ${DATE} ${TIME}
# @Author  : name
# @File    : ${NAME}.py

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Web开发中,有时候页面中会嵌套一个或多个iframe(内联框架),而我们需要对iframe中的元素进行定位操作。下面是一种常见的方法来定位并切出iframe: 1. 首先,使用适当的方法找到包含iframe的父级元素,例如通过id、class或其他属性来定位。 2. 使用父级元素定位方法找到iframe元素本身。可以使用`find_element_by_tag_name`方法,传入参数"iframe"来定位。 3. 切换到iframe上下文。使用`switch_to.frame`方法,传入iframe元素作为参数,将当前的上下文切换到iframe中。 4. 在iframe中进行元素定位操作。可以使用常规的定位方法,例如通过id、class、xpath等来定位元素。 5. 完成操作后,需要切回到默认的上下文。可以使用`switch_to.default_content`方法来切回默认上下文。 下面是一个示例代码,演示了如何定位并切出iframe: ```python from selenium import webdriver # 创建浏览器实例 driver = webdriver.Chrome() # 打开网页 driver.get("http://example.com") # 定位包含iframe的父级元素 parent_element = driver.find_element_by_id("parent_element_id") # 定位iframe元素 iframe_element = parent_element.find_element_by_tag_name("iframe") # 切换到iframe上下文 driver.switch_to.frame(iframe_element) # 在iframe中进行元素定位操作 element = driver.find_element_by_id("element_id") element.click() # 切回默认上下文 driver.switch_to.default_content() # 关闭浏览器 driver.quit() ``` 请注意,以上示例代码使用了Python的Selenium库来进行元素定位操作。在实际开发中,你可以根据自己使用的编程语言和工具选择相应的库和方法来实现元素定位操作

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值