• 元素定位8种方法


    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
    <p id="abc">海客谈瀛洲,烟涛微茫信难求</p>
    <a name="abd">天南地北双飞客,老翅儿几回寒暑</a>
    <br>
    <a href="https://www.baidu.com">点击进入百度</a>
    <br>
    <span>人道海水深,不抵相思半</span>
    <br>
    <span class="xyz">无意苦争春,一任群芳妒</span>
    <div>
        <ul>
            <li>驿外断桥边</li>
            <li>寂寞开无主</li>
            <li>已是黄昏独自愁</li>
        </ul>
    </div>
    <span class="hello nice world">结庐在人境,而无车马喧</span>
    </body>
    </html>

    1.定位元素的8种方法

    import os
    from selenium import webdriver
    
    driver_path = f"{(os.path.dirname(os.path.dirname(os.path.dirname(__file__))))}/driver/chromedriver.exe"
    # 创建浏览器驱动对象,这里是打开浏览器
    driver = webdriver.Chrome(executable_path=driver_path)
    # 访问网址
    driver.get(r"C:Usersxibo.zhuworkmyselfmyProjectselenium_basicday1	est.html")
    
    """
    # 根据 id 属性进行定位, 只返回找到的第一个元素
    ele = driver.find_element_by_id("abc")
    # 获取元素的文本值并打印出来
    print(ele.text)
    """
    
    """
    # 根据 name 属性定位, 只返回找到的第一个元素
    ele = driver.find_element_by_name("abd")
    print(ele.text)
    """
    
    """
    # 根据链接文本进行定位, 只返回找到的第一个元素
    ele = driver.find_element_by_link_text("点击进入百度")
    ele.click()
    """
    
    """
    # 根据链接文本进行定位, 模糊定位, 只返回找到的第一个元素
    ele = driver.find_element_by_partial_link_text("点击进入")
    ele.click()
    """
    
    """
    # 根据 tag_name 进行定位, 只返回找到的第一个元素
    ele = driver.find_element_by_tag_name("span")
    print(ele.text)
    """
    
    
    # 根据 class 属性进行定位, 只返回找到的第一个元素
    ele = driver.find_element_by_class_name("hello")
    print(ele.text)
    
    
    """
    # 根据 xpath 进行定位, 只返回找到的第一个元素
    ele = driver.find_element_by_xpath("/html/body/div/ul/li[2]")
    print(ele.text)
    """
    """
    # 根据css_selector 匹配元素列表,返回所有能匹配到的元素,存在一个列表里边
    ele = driver.find_element_by_css_selector("html > body > div > ul > li:nth-child(2)")
    print(ele.text)
    """
    
    driver.quit()
  • 相关阅读:
    图片上传
    中间件
    放大镜
    JQ编写楼层效果
    AJAX,PHP,前端简单交互制作输入框效果
    AJAX中使用post,get接收发送数据的区别
    PHP内写css样式
    计算2个日期相差的月份
    react-相关技术栈之-dva/dynamic
    es6相关知识点
  • 原文地址:https://www.cnblogs.com/zhuxibo/p/14145070.html
Copyright © 2020-2023  润新知