如何在selenium(python)中排除类名?

问题描述 投票:0回答:1

我正在尝试从博彩公司网站上抓取数据,但我只需要非现场活动。非实时事件块元素如下所示:

<div class="card ng-star-inserted"
。但现场活动元素看起来像这样:
<div class="card card--live ng-star-inserted
。 我用来获取参赛队伍名称的代码:

website = 'https://winline.ru/stavki/sport/futbol'
driver.get(website)

team1 = []
team2 = []

driver.implicitly_wait(3)
table_winline_1 = driver.find_elements(By.CLASS_NAME, "card.ng-star-inserted")

for match in table_winline_1:
    team1.append(match.find_element(By.XPATH, './div[1]/a/div/div[1]').text)
    team2.append(match.find_element(By.XPATH, './div[1]/a/div/div[2]').text)
print(team1)
print(team2)

它为我提供了团队列表,从现场活动的团队开始。 如何排除

div class="card card--live ng-star-inserted

我还尝试使用 xpath 和 css 选择器定位器,但由于某种原因它们返回空列表 英语不是我的母语,所以如果我的信息中有任何错误,我很抱歉。

python selenium-webdriver web-scraping
1个回答
0
投票

我认为 XPath 中的 not contains 可以帮助你。

match.find_element(By.XPATH, '//*[not(contains(@class,"card--live"))]')
© www.soinside.com 2019 - 2024. All rights reserved.