美文网首页Selenium_博客已迁移Selenium Python菜鸟的Python之路
selenium篇(二)之简单的对象(元素)定位

selenium篇(二)之简单的对象(元素)定位

作者: Tester_Jingel | 来源:发表于2017-03-02 15:24 被阅读101次

一、常用的网页元素:

  • id:find_element_by_id()
  • name:find_element_by_name()
  • class name:find_element_by_class_name()
  • tag name:find_element_tag_name()
  • link text:find_element_link_text()
  • partial link text:find_element_partial _link_text()
  • xpath:find_element_by_xpath()
  • css selector:find_element_by_css_selector()

二、详细举例介绍各对象

1、id和name是html中最常用的定位元素(此处以百度为例定位输入框和按钮)


百度.png
- <input id="kw" name="wd" class="s_ipt" value="" maxlength="255" autocomplete="off">
- <input type="submit" id="su" value="百度一下" class="bg s_btn">
此处为百度的登陆页面代码:
    def test_r(self):
        account="xxxx"
        password="xxx"
        identifying_code=u"xxx"
        driver = self.driver
        driver.get(self.base_url + "/v2/?login&fr=old&login&tpl=mn")
        driver.find_element_by_id("TANGRAM__PSP_3__userName").clear()
        driver.find_element_by_id("TANGRAM__PSP_3__userName").send_keys(account)
        driver.find_element_by_id("TANGRAM__PSP_3__password").click()
        driver.find_element_by_id("TANGRAM__PSP_3__password").clear()
        driver.find_element_by_id("TANGRAM__PSP_3__password").send_keys(password)
        driver.find_element_by_id("TANGRAM__PSP_3__verifyCode").clear()
        driver.find_element_by_id("TANGRAM__PSP_3__verifyCode").send_keys(identifying_code)
        driver.find_element_by_id("TANGRAM__PSP_3__memberPass").click()
        driver.find_element_by_id("TANGRAM__PSP_3__submit").click()

2、class name和tag name(ps:不推荐使用tag name进行定位,网页中会出现多个相同的tag例如<span>)

- <input id="kw" name="wd" class="s_ipt" value="" maxlength="255" autocomplete="off">
-  driver.find_element_by_class_name("s_ipt").click()

3、link text和partial link text


文字链接.png
- driver.find_element_by_link_text("糯米").click()
-driver.find_element_by_partial_link_text("糯").click()[ps:针对一个较长的文字链接在页面中取得其唯一标识元素]

4、xpath和css selector

  • xpath可以通过Firefox的firebug中的firepath来定位当前选中的元素的xpath的路径


    firebug.png

    不同的浏览器可能xpath路径显示的不同哦~

  • css selector
    后续博主学习好了再来这里更新分享(≧▽≦)/啦啦啦~

三、小demo来袭咯~

webdriver中常用的操作元素

  • clear :清除元素内的内容
  • send_keys:模拟按键输入
  • click:单击元素
  • submit:提交表单
#-*-coding:utf-8-*-
from selenium import webdriver
browser=webdriver.Chrome()
account="xxxxx"
password="xxxxx"
browser.get("http://xxxxxx")
browser.find_element_by_name("username").clear()
browser.find_element_by_name("username").send_keys(account)
browser.find_element_by_name("password").clear()
browser.find_element_by_name("password").send_keys(password)
browser.find_element_by_name("submit").click()
browser.quit()

每日美句:

再牛逼的梦想,都禁不住傻逼式的坚持

所以菜鸟们我们加油奋斗起来吧~~~~


相关文章

网友评论

    本文标题:selenium篇(二)之简单的对象(元素)定位

    本文链接:https://www.haomeiwen.com/subject/cmyhgttx.html