我一直在努力找出如何在Tennis 24"https://www.tennis24.com/match/4xFaW6fP/#match-统计学;0";这样的页面,但当我尝试使用selenium时,不会返回任何内容。即使我只是试图返回1元素,如
<div class="statText statText--awayValue">4</div>
有人能给我一些建议吗?因为这是我的第一个刮削项目?
要打印文本4,您需要诱导WebDriverWait等待visibility_of_element_located()
,您可以使用以下定位器策略之一:
-
使用
XPATH
和文本属性:driver.get('https://www.tennis24.com/match/4xFaW6fP/#match-statistics;0') print(WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.XPATH, "//div[@class='statText statText--titleValue' and text()='Aces']//following::div"))).text)
-
使用
XPATH
和get_attribute('innerHTML')
:driver.get('https://www.tennis24.com/match/4xFaW6fP/#match-statistics;0') print(WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.XPATH, "//div[@class='statText statText--titleValue' and text()='Aces']//following::div"))).get_attribute('innerHTML'))
-
注意:您必须添加以下导入:
from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.common.by import By from selenium.webdriver.support import expected_conditions as EC