美文网首页Python
『心善渊』Selenium3.0基础 — 8.Selenium元

『心善渊』Selenium3.0基础 — 8.Selenium元

作者: 繁华似锦Fighting | 来源:发表于2020-08-18 00:09 被阅读0次

    (5)by_link_text

    说明:

    by_link_text通过超文本链接上的文字信息来定位元素,这种方式一般专门用于定位页面上的超文本链接。

    例如打开百度首页,定位点击超链接地图。

    超链接地图源代码:

    <a class="mnav" name="tj_trmap" href="http://map.baidu.com">地图</a>
    
    示例:

    脚本代码需求:使用link_text定位百度首页地图链接

    """
    1.学习目标:
        必须掌握selenium中超链接的定位方法
    2.语法
        link_text  # 需要链接的全部文本
        driver.find_element_by_link_text(全部文本)
    3.需求
        在页面中,使用定位连接的方法,访问百度网站,定位点击超链接地图。
    """
    # 1.导入selenium
    from selenium import webdriver
    from time import sleep
    import os
    
    # 2.打开浏览器
    driver = webdriver.Chrome()
    
    # 3.打开页面
    url = "http://www.baidu.com"
    driver.get(url)
    sleep(2)
    
    # 4.使用link_text定位
    """
    注意:
    连接的全部文本,表示<a>标签中的全部内容,有空格也要算。
    如果有相同部分文本的元素,单数形式,定位第一个。
    """
    linkText = driver.find_element_by_link_text("地图")
    print(linkText.get_attribute("outerHTML"))
    
    # 5.关闭浏览器
    driver.quit()
    
    """
    输出结果:
    <a href="http://map.baidu.com" target="_blank" class="mnav c-font-normal c-color-t">地图</a>
    """
    
    复数形式:
    # 定位一组标超链接文本全部内容相同的元素,很少用到。
    # 1.导入selenium
    from selenium import webdriver
    from time import sleep
    
    # 2.打开浏览器
    driver = webdriver.Chrome()
    
    # 3.打开页面
    url = "http://www.baidu.com"
    driver.get(url)
    sleep(2)
    
    # 4.使用link_text定位
    """
    注意:
    连接的全部文本,表示<a>标签中的全部内容,有空格也要写。
    """
    linkText = driver.find_elements_by_link_text("地图")
    
    # 5.遍历列表打印每个元素的源码
    for element in linkText:
        print(element.get_attribute("outerHTML"))
    
    # 6.关闭浏览器
    driver.quit()
    
    """
    输出结果:
    <a href="http://map.baidu.com" target="_blank" class="mnav c-font-normal c-color-t">地图</a>
    """
    

    (6)by_partial_link_text

    说明:

    当你不能准确知道超链接上的文本信息或者只想通过一些关键字进行匹配时,可以使用by_partial_link_text这个方法来通过部分链接文字进行匹配。

    例如打开百度首页,定位点击超链接<hao123>。

    超链接地图源代码:在代码里用”ao1”进行匹配

    <a href="https://www.hao123.com" target="_blank" class="mnav c-font-normal c-color-t">hao123</a>
    
    示例:

    脚本代码:使用partial_link_text方法定位百度首页<hao123>链接

    """
    1.学习目标:
        必须掌握selenium中超链接的定位方法
    2.语法
        partial_link_text  # 需要连接部分文本
        driver.find_element_by_partial_link_text(部分文本)
            部分文本必须是连续的文字(中可包含空格)
    3.需求
        在页面中,使用定位连接的方法,访问百度网站,定位点击超链接<hao123>。
    """
    # 1.导入selenium
    from selenium import webdriver
    from time import sleep
    
    # 2.打开浏览器
    driver = webdriver.Chrome()
    
    # 3.打开页面
    url = "http://www.baidu.com"
    driver.get(url)
    sleep(2)
    
    # 4.使用by_partial_link_text定位
    """
    注意:
    连接的部分文本,表示<a>标签中的连续的部分内容,之中有空格也要算。
    如果有相同部分文本的元素,单数形式,定位第一个。
    """
    pLinkText = driver.find_element_by_partial_link_text("ao1")
    print(pLinkText.get_attribute("outerHTML"))
    
    # 6.关闭浏览器
    sleep(2)
    driver.quit()
    
    """
    输出结果:
    <a href="https://www.hao123.com" target="_blank" class="mnav c-font-normal c-color-t">hao123</a>
    """
    
    复数形式:
    # 定位一组标超链接文本目标内容相同的元素,很少用到。
    # 1.导入selenium
    from selenium import webdriver
    from time import sleep
    
    # 2.打开浏览器
    driver = webdriver.Chrome()
    
    # 3.打开页面
    url = "http://www.baidu.com"
    driver.get(url)
    sleep(2)
    
    # 4.使用by_partial_link_text定位
    """
    注意:
    连接的部分文本,表示<a>标签中的连续的部分内容,之中有空格也要算。
    """
    pLinkText = driver.find_elements_by_partial_link_text("ao1")
    
    # 5.遍历列表打印每个元素的源码
    for element in pLinkText:
        print(element.get_attribute("outerHTML"))
    
    # 6.关闭浏览器
    driver.quit()
    
    """
    输出结果:
    <a href="https://www.hao123.com" target="_blank" class="mnav c-font-normal c-color-t">hao123</a>
    """
    

    相关文章

      网友评论

        本文标题:『心善渊』Selenium3.0基础 — 8.Selenium元

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