gpt4 book ai didi

python - 如何获得 Python Selenium 中的最后一个类

转载 作者:行者123 更新时间:2023-12-04 03:30:40 26 4
gpt4 key购买 nike

我正在创建一个使用 selenium 从网站提取数据的程序。在这种情况下,我试图获得类(class)的长度。我在网页上有以下代码

<li class="">                      
<a href="/academy/lesson/intro-to-personality.html" data-virtual="3">
<span class="lesson__title">Intro to Personality</span></a>
<span class="lessonTime">4:16</span>
</li>

<li class="">
<a href="/academy/lesson/intro-to-real-estate.html" data-virtual="3">
<span class="lesson__title">Intro to Real Estate</span></a>
<span class="lessonTime">6:16</span>
</li>

<li class="is-viewing" test-id="course_nav_current_lesson">
<a href="/academy/lesson/freudian-defense-mechanisms.html" data-virtual="3">
Freudian Defense Mechanisms: Definition, Levels & Examples</a>
<span class="lessonTime">7:29</span>
<span class="icon-eye"></span>
</li>

该网页包含大约 8-15 节其他类(class)长度的列表,但我只对分配给用户的类(class)感兴趣。因为每次 xpath 都是动态的,它不会访问同一个网页。唯一一致的两件事是,用户分配的类(class)总是在底部,并且它有一个名为 is-viewing 的特殊类。我尝试使用此代码提取数据:

lessonlength = driver.find_element_by_class_name('lessonTime').get_attribute('innerHTML')
print(f'Lesson is {lessonlength} long')

这将返回 4:16,因为它是第一个与定义的元素具有相同类的元素。有没有办法找到最后一节课(因为它总是在最后)。

最佳答案

试试这个:

result = driver.find_element_by_css_selector(".is-viewing>.lessonTime").text

is-viewing - 是一个独特的类,您需要它的子类名为 lessonTime

另外,添加等待显示。

关于python - 如何获得 Python Selenium 中的最后一个类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66908919/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com