webdriver的API与定位元素(1)

    技术2022-07-10  102

    页面元素的定位与操作,是自动化测试的核心内容

    (1)打开浏览器

    from selenium import webdriver

    b = webdriver.Chrome()

    (2)打开网页

    b.get('https://www.baidu.com/')        #打开一个网页,比如百度

    判断打开的网页是否正确:查看title,URL,元素等。

    >>> from selenium import webdriver >>> b = webdriver.Chrome() >>> b.get('https://www.baidu.com/') >>> b.title '百度一下,你就知道' >>> b.current_url 'https://www.baidu.com/' >>> '百度'in b.title True

    (3)定位元素与操作

    Selenium提供了8种定位方式:

    元素名称

    webdriver API

    id

    find_element_by_id()

    name

    find_element_by_name()

    class name

    find_element_by_class_name()

    tag name

    find_element_by_tag_name()

    link text

    find_element_by_link_text()

    partial link text

    find_element_by_partial_link_text()

    xpath

    find_element_by_xpath()

    css selector

    find_element_by_css_selector()

    定位元素后,元素操作方式:

    方法说明clear清除元素内容send_keys模拟按键输入click点击submit提交表单

    可以看到<input type="text" class="s_ipt" name="wd" id="kw" maxlength="100" autocomplete="off">

    ①find_element_by_id()

    id 和 name 是我们最最常用的定位方式,因为大多数控件都有这两个属性,而且在对控件的id 和name命名时一般使其有意义也会取不同的名字。通过这两个属性使我们找一个页面上的属性变得相当容易。

    定位到输入框,id='kw'

    ele = b.find_element_by_id('kw')

    在输入框输入“麦子学院”

    ele.send_keys('麦子学院')

    提交表单:submit(),有些搜索框不提供搜索按钮,而是通过按回车键搜索,可以通过submit()模拟:

    ele.submit()

     

    清空输入框:     ele.clear()

    回到上一页:     b.back()

    ②find_element_by_name()

    ele1 = b.find_element_by_name('wd')

    ele1.send_keys('麦子学院')

    ③find_element_by_class_name()

    ele2 = b.find_element_by_class_name('s_ipt') ele2.send_keys('麦子学院')

    ④find_element_by_tag_name()

    标签就是input,但是页面中有很多input,用input定位默认会返回第一个input,容易报错

    ele3 = find_element_by_tag_name('input')

    由id可知定位的元素和前面的不一样

     

     

     

     

     

     

     

     

    Processed: 0.105, SQL: 12