我正在寻找一些号码 https://tnnslive.com/
我在 tnnslive.com 上寻找的号码:
如果我在 Chrome 中复制 xpath,我会得到:
//*[@id="root"]/div/div/div/div/div/div/div/div[2]/div[2]/div/div/div/div/div[2]/div[2]/div/div[1]/div/div[1]/div/div/div/div/div[3]/div/div/div/div[7]/div/div[2]
如果我运行以下代码:
from selenium import webdriver
# Start a new Chrome browser session
driver = webdriver.Chrome(executable_path="PATH_TO_CHROMEDRIVER")
# Navigate to the desired URL
driver.get('https://tnnslive.com/match/VDDGj17PodORnq62YwQk')
# Find the element by its XPath and print its text
element = driver.find_element("xpath", '//*[@id="root"]/div/div/div/div/div/div/div/div[2]/div[2]/div/div/div/div/div[2]/div[2]/div/div[1]/div/div[1]/div/div/div/div/div[3]/div/div/div/div[7]/div/div[2]')
# Close the browser
driver.quit()
出现错误:
NoSuchElementException: no such element: Unable to locate element: {"method":"xpath","selector":"//*[@id="root"]/div/div/div/div/div/div/div/div[2]/div[2]/div/div/div/div/div[2]/div[2]/div/div[1]/div/div[1]/div/div/div/div/div[3]/div/div/div/div[7]/div/div[2]"}
(Session info: chrome=115.0.5790.171)
为什么?我该如何解决这个问题?
要打印与网站内第一个玩家赢得的第一个发球点相关的文本,您需要为visibility_of_element_ located()诱导WebDriverWait,并且您可以使用以下任一定位器策略:
、following-sibling
和text 属性:
driver.get(url='https://tnnslive.com/match/MpVVddDZigie7GHM9ip8')
print(WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.XPATH, "//div[text()='1st Serve Points Won']//following-sibling::div[1]"))).text)
、following
和
get_attribute("innerHTML")
:driver.get(url='https://tnnslive.com/match/MpVVddDZigie7GHM9ip8')
print(WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.XPATH, "//div[text()='1st Serve Points Won']//following::div[1]"))).get_attribute("innerHTML"))
64% (29/45)
:您必须添加以下导入:
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
如何使用 Selenium - Python 检索 WebElement 的文本参考文献
get_attribute()
方法
Gets the given attribute or property of the element.
text
属性返回
The text of the element.