selenium 通过class选择多个对象

网站源码:来自白月黑羽测试网页1

view-source:http://cdn1.python3.vip/files/selenium/sample1.html

<!DOCTYPE html>
<html lang="en">

    <head>
        <meta charset="UTF-8">
        <title>白月黑羽测试网页1</title>

        <style>
            .animal {color: red;}
        </style>
    </head>

    <body>
        
        <div class="plant"><span>土豆</span></div>
        <div class="plant"><span>洋葱</span></div>
        <div class="plant"><span>白菜</span></div>

        <div class="animal"><span>狮子</span></div>
        <div class="animal"><span>老虎</span></div>
        <div class="animal"><span>山羊</span></div>

        <input  type="text" id='searchtext' />

        <div id='container'>
            
            <div id='layer1'>
                <div id='inner11'>
                    <span>内层11</span>
                </div>
                <div id='inner12'>
                    <span>内层12</span>
                </div>
            </div>

            <div id='layer2'>
                <div id='inner21'>
                    <span>内层21</span>
                </div>
            </div>

        </div>

        
        <div id='bottom'>
            <div class='footer1'>
                <span class='copyright'>版权</span>
                <span class='date'>发布日期:2018-03-03</span>
            </div>
            <div class='footer2'>
                <span>备案号
                    <a href="http://www.miitbeian.gov.cn">苏ICP备88885574号</a>
                </span>
            </div>        
        </div>         

    </body>
</html>

代码1

from selenium import webdriver

driver = webdriver.Chrome()
driver.get("http://cdn1.python3.vip/files/selenium/sample1.html")

animals = driver.find_elements_by_class_name("animal")
for i in animals:
    print(i.text)

输出:
狮子
老虎
山羊

代码2

from selenium import webdriver
#导入这个类
from selenium.webdriver.common.by import By
driver = webdriver.Chrome()
driver.get("http://cdn1.python3.vip/files/selenium/sample1.html")
#selenium 4.0版本以后,推荐这种写法,之前的写法不推荐了会报警。
dd = driver.find_elements(By.TAG_NAME,'span')
for i in dd:
    print(i.text)

输出:
土豆
洋葱
白菜
狮子
老虎
山羊
内层11
内层12
内层21
版权
发布日期:2018-03-03
备案号 苏ICP备88885574号

 代码3

from selenium import webdriver
from selenium.webdriver.common.by import By

driver = webdriver.Chrome()
driver.get("http://cdn1.python3.vip/files/selenium/sample1.html")
#查找第一层
element = driver.find_element(By.ID,"container")
#第二层查找
element2 = element.find_elements(By.TAG_NAME,"span")
for i in element2:
    print(i.text)

输出:
内层11
内层12
内层21

Guess you like

Origin blog.csdn.net/weixin_47401101/article/details/121104271