Selenium3自动化测试【21】find_element定位元素

前面连载的内容,我们介绍了如下8种定位元素的方法。

  • find_element_by_id:通过元素的ID属性值来定位元素;
  • find_element_by_name:通过元素的name属性值来定位元素;
  • find_element_by_class_name:通过元素的class属性值来定位元素;
  • find_element_by_xpath:通过Xpath来定位元素;
  • find_element_by_tag_name:通过元素的tag name来定位元素;
  • find_element_by_css_selector:通过CSS选择器来定位元素;
  • find_element_by_link_text:通过元素标签对之间的文本信息来定位元素;
  • find_element_by_partial_link_text:通过元素标签对之间的部分文本信息来定位元素。
    而WebDriver还提供了另一种方法find_element(),其通过By来申明定位的方法,传入对应定位方法的定位参数。find_element()方法只用于定位元素。它需要传入了两个参数,第1个参数是定位的类型,由By提供(使用前需要通过from selenium.webdriver.common.by import By导入By),第2个参数是具体定位的方式。
    以搜索按钮元素为例,搜索按钮元素的html代码如下:
<input type="submit" class="b_searchboxSubmit" id="sb_form_go" tabindex="0" name="go">

对应的find_element()方法具体如下:

  • find_element(By.ID, “sb_form_go”);
  • find_element(By.CLASS_NAME,“b_searchboxSubmit”);
  • find_element(By.NAME,“go”);
  • find_element(By.CSS_SELECTOR,".b_searchboxSubmit");
  • find_element(By.XPATH,"//*[@id=‘sb_form_go’]");
  • find_element(By.LINK_TEXT,"") 由于搜素框元素没有Link text,所以对用属性值用替代;
  • find_element(By.PARTIAL_LINK_TEXT,"****");
  • find_element(By.TAG_NAME,"****") 。

以Bing搜索页为例。

  • 找到搜索框与搜索按钮元素;
  • 在搜索框中键入bella关键字;
  • 用鼠标单击搜索按钮;
  • 提交搜索请求。

通过By.ID的完整代码如下:

from selenium import webdriver
from time import sleep
from selenium.webdriver.common.by import By

driver = webdriver.Firefox()
driver.get("http://cn.bing.com/")

driver.find_element(By.ID,value="sb_form_q").send_keys("bella")
driver.find_element(By.ID,value="sb_form_go").click()

sleep(1)
driver.quit()  

通过By.NAME的完整代码如下:

from selenium import webdriver
from time import sleep
from selenium.webdriver.common.by import By

driver = webdriver.Firefox()
driver.get("http://cn.bing.com/")

driver.find_element(By.NAME,"q").send_keys("bella")
driver.find_element(By.NAME,"go").click()

sleep(1)
driver.quit()

通过By.CLASS_NAME的完整代码如下:

from selenium import webdriver
from time import sleep
from selenium.webdriver.common.by import By

driver = webdriver.Firefox()
driver.get("http://cn.bing.com/")

driver.find_element(By.CLASS_NAME,value="b_searchbox").send_keys("bella")
driver.find_element(By.CLASS_NAME,value="b_searchboxSubmit").click()

sleep(1)
driver.quit()

通过By.XPATH的完整代码如下:

from selenium import webdriver
from time import sleep
from selenium.webdriver.common.by import By

driver = webdriver.Firefox()
driver.get("http://cn.bing.com/")

driver.find_element(By.XPATH,"//*[@id='sb_form_q']").send_keys("bella")
driver.find_element(By.XPATH,"//*[@id='sb_form_go']").click()

sleep(1)
driver.quit()

通过By.CSS_SELECTOR的完整代码如下:

from selenium import webdriver
from time import sleep
from selenium.webdriver.common.by import By

driver = webdriver.Firefox()
driver.get("http://cn.bing.com/")

driver.find_element(By.CSS_SELECTOR,".b_searchbox").send_keys("bella")
driver.find_element(By.CSS_SELECTOR,".b_searchboxSubmit").click()

sleep(1)
driver.quit()

如果你觉的文章读的不过瘾,可以查看详细的视频教程。
【2021】UI自动化测试:Selenium3自动化测试
(https://edu.csdn.net/course/detail/29953)
【测试全系列视频课程】请点击我哦…
(https://edu.csdn.net/agency/59)

标题图书京东、当当有售

京东:https://item.jd.com/12784287.html
当当:http://product.dangdang.com/29177828.html

  • 4
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Leo_Eagle

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值