美文网首页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