Selenium:刮削和打印类

2024-10-08 18:31:27 发布

您现在位置:Python中文网/ 问答频道 /正文

这是我第一次使用硒。我以前看过StackOverflow中的其他问题,但它们对我帮助不大。我想“仅”打印网站上的Giornata 38和Giornata 37文本https://link. 不包括内容,但仅这两个文本用于说明目的。我指定一切都是为了教育、学习和形成的目的,只是为了我自己,我正在学习Python

我做错了什么?Python代码或html检查在网站上?重要提示:如果我写错了代码,而你修改/改进了它,请记住保持Firefox,不要用Chrome替换它。多谢各位

from selenium import webdriver
from pyvirtualdisplay import Display

display = Display(visible=0, size=(800, 600))
display.start()

browser = webdriver.Firefox()
browser.get('link')

giornata = browser.find_element_by_class_name("event__round event__round--static")
print(giornata)

browser.quit()
display.stop()

错误:引发异常\u类(消息、屏幕、堆栈跟踪) selenium.common.exceptions.NoSuchElementException:消息:无法定位元素:。事件\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu


Tags: 代码from文本import目的browser网站selenium
1条回答
网友
1楼 · 发布于 2024-10-08 18:31:27

event__round event__round static包含一个空格" ",您必须删除该空格并用一个点.连接该类

而不是:

giornata = browser.find_element_by_class_name("event__round event__round static")

尝试:

giornata = browser.find_element_by_class_name("event__round.event__round static")
print(giornata.text)

根据您的评论,如果您想要访问特定元素,例如“Giornata 37”和“Giornata 38”,您可以使用^{}CSS选择器,div.event__round:nth-of-type(2)将选择一个div,然后选择第二个类event__round

在您的示例中:

print(browser.find_element_by_css_selector("div.event__round:nth-of-type(15)").text)
print(browser.find_element_by_css_selector("div.event__round:nth-of-type(2)").text)

输出:

Giornata 37
Giornata 38

相关问题 更多 >

    热门问题