我一直试图得到这个球员的重量,但它只是可见于检查元素,而不是在网站上,当我打印下面,我得到一个空白的结果,谁能帮我这个吗?
法典审判:
import time
import pandas as pd
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.chrome.service import Service
s = Service('/Users/karim/Desktop/chromedriver-2')
driver = webdriver.Chrome(service=s)
url = 'https://www.premierleague.com/players/71432/Rayan-A%C3%AFt-Nouri/overview'
driver.get(url)
g = driver.find_element(By.XPATH, "//li[@class='u-hide']")
print(g.text)发布于 2022-04-29 06:06:56
您需要执行以下操作:
代码:
driver.maximize_window()
wait = WebDriverWait(driver, 30)
driver.get("https://www.premierleague.com/players/71432/Rayan-A%C3%AFt-Nouri/overview")
try:
wait.until(EC.element_to_be_clickable((By.XPATH, "//button[text()='Accept All Cookies']"))).click()
print("clicked on accept cookies button")
wait.until(EC.element_to_be_clickable((By.CSS_SELECTOR, "a#advertClose"))).click()
except:
pass
#print(wait.until(EC.presence_of_element_located((By.XPATH, "//li[@class='u-hide']"))).get_attribute('innerText'))
print(wait.until(EC.presence_of_element_located((By.XPATH, "//li[@class='u-hide']//div[@class='info']"))).get_attribute('innerText'))导入:
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC输出:
clicked on accept cookies button
70kg
Process finished with exit code 0发布于 2022-04-29 23:34:38
运动员的体重在以下范围内:
<div class="info">70kg</div>它的祖先是:
<li class="u-hide">
<div class="label">Weight</div>
<div class="info">70kg</div>
</li>其中<li>的类是u-hide。
由于元素是一个隐藏的元素,所以在这里使用text属性是行不通的,因此您可以提取innerHTML或innerText。
解决方案
若要打印权重的值,可以使用以下任一
使用
innerHTML:打印( "//li@class='u-hide'//div@class='info'").get_attribute('innerHTML')),By.XPATH,driver.find_element)
使用
innerText:打印( "//li@class='u-hide'//div@class='info'").get_attribute('innerText')),By.XPATH,driver.find_element)
使用
innerHTML:打印( 20).until(EC.presence_of_element_located((By.XPATH,"//li@class='u-hide'//div@class='info'"))).get_attribute('innerHTML')),驱动程序,WebDriverWait)
使用
innerText:打印( 20).until(EC.presence_of_element_located((By.XPATH,"//li@class='u-hide'//div@class='info'"))).get_attribute('innerText')),驱动程序,WebDriverWait)
70公斤
从selenium.webdriver.support.ui导入WebDriverWait从selenium.webdriver.common.by导入从selenium.webdriver.support导入expected_conditions作为EC
https://stackoverflow.com/questions/72053087
复制相似问题