selenium之name和class_name定位

一、name定位

1、说明:name定位就是根据元素name属性来定位(前提是有name属性)

2、name定位方法:

element=driver.find_element_by_name(name)

3、案例:打开Iconfont的登录界面,完成以下操作:

  1. 使用name定位,输入用户名:admin
  2. 使用name定位,输入密码:124132432
  3. 10秒后关闭浏览器窗口

代码如下:

from selenium import webdriver
from time import sleep

#这里使用阿里Iconfont的登录界面

#获取浏览器对象
driver=webdriver.Chrome()
#获取网络链接
url="https://login.alibaba-inc.com/ssoLogin.htm?BACK_URL=https%3A%2F%2Fwww.iconfont.cn%2Fapi%2FsendBucSSOToken.do&preLoginKey=HQbkPavlaI1572415135309WAbvcSruKi&CLIENT_VERSION=0.3.7&CONTEXT_PATH=%2Fapi&APP_NAME=icon-font&CANCEL_CERT=true"
driver.get(url)
#获取用户名元素和密码元素,用户名输入admin,密码输入123241234
driver.find_element_by_name("domainAccount").send_keys("admin")
driver.find_element_by_name("password").send_keys("123241234")
#暂停3秒
sleep(3)
#退出浏览器驱动
driver.quit()

运行效果:

二、class_name定位

1、说明:class_name定位就是根据元素class属性值来定位元素。HTML通过使用class来定义元素的样式。

前提:元素有class属性。

注意:如果class有多个属性值,只能使用其中的一个。

2、class_name定位方法

element=driver.find_element_by_class_name(class_name)

3、案例:打开几案网的登录界面,完成以下操作:

  1. 使用class_name定位,输入手机号:17862088887
  2. 使用class_name定位,输入密码:124132432
  3. 3秒后关闭浏览器窗口

代码如下:

from selenium import webdriver
from time import sleep

#这里使用几案网的登录界面

#获取浏览器对象
driver=webdriver.Chrome()
#获取网络链接
url="http://www.ji-an.com/user/index/login"
driver.get(url)
#获取手机号码元素和密码元素,用户名输入手机号,密码输入123241234
driver.find_element_by_class_name("form-control").send_keys("17862088887")
driver.find_element_by_class_name("password").send_keys("123241234")
#暂停3秒
sleep(3)
#退出浏览器驱动
driver.quit()

运行效果:

  • 1
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: find_element_by_class_name 方法是 Selenium WebDriver 中用来定位 HTML 页面中 class 属性为指定值的元素的方法。例如,若有一个 class 属性值为 "example" 的 div 元素,可以使用如下代码定位该元素: ``` element = driver.find_element_by_class_name("example") ``` 返回值是一个 WebElement 对象,可以对它进行操作。如果有多个元素符合条件,则返回第一个找到的元素。 ### 回答2: find_element_by_class_name 是 selenium 中的一个方法,用于通过类名查找页面元素。 在 HTML 中,每个元素可以有一个或多个类名,用于描述元素的特征。通过 find_element_by_class_name 方法,可以传入一个类名作为参数,selenium 会在当前页面中查找第一个具有该类名的元素,并返回一个 WebElement 对象。 例如,假设我们有以下 HTML 代码: ```html <div class="container"> <h1>Welcome to my website</h1> <p class="description">Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p> <a class="button" href="/login">Log In</a> </div> ``` 我们可以使用以下代码来查找元素: ```python from selenium import webdriver browser = webdriver.Chrome() browser.get("http://example.com") button = browser.find_element_by_class_name("button") button.click() ``` 在上面的代码中,我们创建了一个 browser 对象,并访问了 http://example.com。然后,我们使用 find_element_by_class_name 方法通过类名 "button" 查找了页面中第一个具有该类名的元素。最后,我们通过 click 方法模拟了用户点击该元素的行为。 需要注意的是,如果页面中有多个具有相同类名的元素,find_element_by_class_name 方法只会返回第一个元素。如果需要查找所有具有相同类名的元素,可以使用 find_elements_by_class_name 方法,该方法返回所有匹配的元素的列表。 总的来说,find_element_by_class_name 方法是 selenium 中常用的查找页面元素的方法之一,可以很方便地定位具有特定类名的元素,方便我们进行后续的操作。 ### 回答3: find_element_by_class_name()是selenium库中一种用来查找网页元素的方法。它通过指定元素的class属性来定位网页的某个元素。在web开发中,class属性可以用来给元素定义一个样式类,方便css控制元素的样式。 使用find_element_by_class_name()方法时,只需在括号中输入要查找的元素的class属性的值,即可定位页面上的指定元素。如果有多个匹配的元素,它将返回其中的第一个元素。 需要注意的是, class属性的值不应包含空格,否则无法使用find_element_by_class_name()方法查找到这个元素。如果class属性的值包含空格,则需要使用其他方法来查找元素,例如find_element_by_css_selector()。 总之,find_element_by_class_name()是selenium库中非常实用的一种方法,它为web自动化测试提供了便利,可靠地定位页面上的元素,对于优化测试效率起了不可替代的作用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值