Python Selenium:查找元素但返回空字符串

2024-09-30 18:28:14 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试从该页面获取所有玩家: https://earthmc.net/map

(单击右侧的箭头可以看到它们)

玩家的标签如下:<a href="#" title="Center on player">Blu_Viper</a> 我正在为此使用此代码:

driver = webdriver.Firefox()
driver.get("https://earthmc.net/map/")

name = driver.find_elements_by_xpath('//a[@title="Center on player"]')
for i in range(len(name)):
    print(name[i].text)

driver.close()

驱动程序找到Xpath,但只打印一个空白字符串。 我怎样才能解决这个问题


Tags: namehttpsmapnettitleondriver玩家
1条回答
网友
1楼 · 发布于 2024-09-30 18:28:14

您可以使用以下代码:-此外,您可以根据需要更改睡眠时间。请注意,此代码有时会出错,因为列表是动态的。但您可以再次运行它以获得完整的玩家列表

from selenium import webdriver
from selenium.webdriver import ActionChains
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
import time

driver = webdriver.Chrome()
action = ActionChains(driver)

driver.get('https://earthmc.net/map/')

wait = WebDriverWait(driver, 20)
time.sleep(20)

ExpandArrow = wait.until(EC.visibility_of_element_located((By.XPATH, '//div[@class="hitbar"]')))
action.move_to_element(ExpandArrow).perform()

PlayerList = driver.find_elements_by_xpath('//li[contains(@class,"player")]')

for element in PlayerList:
    driver.execute_script("arguments[0].scrollIntoView();", element)
    print(element.text)

print("Successfully Completed.")

注意-如果这是您正在寻找的,则将其标记为答案

相关问题 更多 >