首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用selenium从单列中获取多个文本?

如何使用selenium从单列中获取多个文本?
EN

Stack Overflow用户
提问于 2022-07-19 06:34:30
回答 2查看 61关注 0票数 0

我是新来的硒。我已经试过了,但我不知道如何定位这些特定的位置。我怎样才能一次从前200部游戏(4页)中获得所有的体裁?

网站链接:https://playtoearn.net/blockchaingames/Ethereum/All-Genre/All-Status/All-Device/All-NFT/All-PlayToEarn/All-FreeToPlay

示例

首先,我想从第一页得到所有前50名的比赛。

我的代码如下:

代码语言:javascript
复制
from selenium import webdriver
from selenium.webdriver.common.by import By

PATH = "C:/Users/user/D/chromedriver.exe"
driver = webdriver.Chrome(PATH)
driver.get("https://playtoearn.net/blockchaingames/Ethereum/All-Genre/All-Status/All-Device/All-NFT/All-PlayToEarn/All-FreeToPlay")


for i in range(2, 51):
    genre = "/html/body/div[3]/div[6]/div/table[2]/tbody/tr[" + str(i) + "]/td[4]"
    titles = driver.find_elements(By.XPATH, genre)
    for title in titles:
        print(title.text)

输出:

代码语言:javascript
复制
BREEDING
CARD
PVP
MINIGAME
OPEN-WORLD
VIRTUAL-WORLD
LOGIC
OPEN-WORLD
SIMULATION
MMO
MOBA
STRATEGY
CARD
DEFI
SPACE
ADVENTURE
VIRTUAL-WORLD
FANTASY
MMORPG
ACTION
FANTASY
RPG
ACTION
ADVENTURE
SHOOTER
MINIGAME
VIRTUAL-REALITY
VIRTUAL-WORLD
CARD
COLLECTIBLE
PVP
AUTO-BATTLER
DEFI
RPG
CARD
COLLECTIBLE
SCI-FI
CARD
PVP
STRATEGY
MMO
ARCADE
MINIGAME
VIRTUAL-WORLD
RACING
SPORTS
COLLECTIBLE
OPEN-WORLD
VIRTUAL-WORLD
ADVENTURE
COLLECTIBLE
MMORPG
BUILDING
SIMULATION
MOBA
PVP
ACTION
ADVENTURE
COLLECTIBLE
AUTO-BATTLER
BATTLE-ROYALE
DEFI
ACTION
SCI-FI
SHOOTER
ESPORTS
SCI-FI
SHOOTER
MINIGAME
VIRTUAL-REALITY
VIRTUAL-WORLD
ARCADE
CASUAL
MINING
BUILDING
MMO
STRATEGY
FITNESS
MOVE-TO-EARN
SPORTS
ACTION
FANTASY
RPG
ACTION
ADVENTURE
RPG
ADVENTURE
RPG
ACTION
PLATFORMER
SOCIAL
ACTION
ADVENTURE
MMORPG
MMO
PARTY
PVP
SCI-FI
TOWER-DEFENSE
ACTION
BATTLE-ROYALE
PVP
ADVENTURE
FANTASY
MMORPG
MMO
STRATEGY
TOWER-DEFENSE
CARD
FANTASY
SPORTS
CARD
COLLECTIBLE
FIGHTING
ADVENTURE
ESPORTS
RACING
ARCADE
AUTO-BATTLER
PVP
COLLECTIBLE
COLLECTIBLE
PVP
SPORTS
LOGIC
PUZZLE
BRAWLER
MOBA
FANTASY
SCI-FI
SHOOTER
CARD
PVP

我得到的结果有点不同,与网站相比

EN

回答 2

Stack Overflow用户

发布于 2022-07-20 07:42:26

我在网上做了一些研究,自己解决了这个问题!

守则如下:

代码语言:javascript
复制
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.ui import WebDriverWait          
from selenium.webdriver.support import expected_conditions as EC
import time

PATH = "C:/Users/user/D/chromedriver.exe"
driver = webdriver.Chrome(PATH)
driver.get("https://playtoearn.net/blockchaingames/Ethereum/All-Genre/All-Status/All-Device/All-NFT/All-PlayToEarn/All-FreeToPlay")
time.sleep(2)

for x in range(4):
    for i in range(2, 52):
        genre = "/html/body/div[3]/div[6]/div/table[2]/tbody/tr[" + str(i) + "]/td[4]"
        titles = driver.find_elements(By.XPATH, genre)
        for title in titles:
            print(title.text)
    nextpage = driver.find_element(By.XPATH, "/html/body/div[3]/div[8]/nav/ul/li[10]/a") 
    driver.execute_script("arguments[0].click();", nextpage)

driver.quit()
票数 0
EN

Stack Overflow用户

发布于 2022-07-19 06:37:45

使用文本-对齐:左;用于您的问题

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73032152

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档