如何使用 XPath 在两个条件下 select

How to select with two conditions using XPath

//a[contains(@class,'inprogress')]         - selects active matches
//span[contains(@itemprop,'name')]         - selects all matches

如何 select 只匹配不活跃的? (活动是红色的)

https://www.fudbal91.com/previews/2022-03-30

你可以not()喜欢

//a[not(contains(@class,'inprogress'))]

如果你想同时使用两者,那么两者一起使用

//a[not(contains(@class,'inprogress'))]//span[contains(@itemprop,'name')]

from selenium import webdriver
from selenium.webdriver.common.by import By
#from webdriver_manager.chrome import ChromeDriverManager
from webdriver_manager.firefox import GeckoDriverManager
import time

url = 'https://www.fudbal91.com/previews/2022-03-30'

#driver = webdriver.Chrome(executable_path=ChromeDriverManager().install())
driver = webdriver.Firefox(executable_path=GeckoDriverManager().install())

driver.get(url)

time.sleep(2)

all_items = driver.find_elements(By.XPATH, '//a[not(contains(@class,"inprogress"))]//span[contains(@itemprop,"name")]')
print('len(all_items):', len(all_items))
for item in all_items:
    print(item.text)