单击页面上的选项卡以允许Selenium刮擦

72qzrwbm  于 2022-11-29  发布在  其他
关注(0)|答案(1)|浏览(172)
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
from time import sleep
from datetime import datetime
import pandas as pd
import warnings
import os

warnings.filterwarnings('ignore')

url = 'https://www.fifa.com/fifaplus/en/match-centre/match/17/255711/285063/400128082?country=IE&wtw-filter=ALL'

option = Options()
option.headless = True
driver = webdriver.Chrome("C:/Users/paulc/Documents/Medium Football/chromedriver.exe",options=option)

# Scraping the data

HomeTeam = driver.find_element(By.XPATH, "/html/body/div[1]/main/div/div[1]/div/section/div[1]/div[1]/div[2]/div[3]/div/div[1]/div/div/div[1]/div[1]/p").text
AwayTeam = driver.find_element(By.XPATH, "/html/body/div[1]/main/div/div[1]/div/section/div[1]/div[1]/div[2]/div[3]/div/div[1]/div/div/div[3]/div[2]").text
Result = driver.find_element(By.XPATH, "/html/body/div[1]/main/div/div[1]/div/section/div[1]/div[1]/div[2]/div[3]/div/div[1]/div/div/div[2]").text

如果elem.click。

嗨,伙计们,我正在寻找刮世界杯数据,我已经设法开始它很容易得到球队的名字和分数。在游戏中的统计数据是在图片中的统计标签。所以要开始刮他们,我需要能够点击它与 selenium ,使页面活跃。
我是否遗漏了一些明显的东西,而这不能通过xpath来完成?
请帮忙。

z0qdvdin

z0qdvdin1#

如果要单击“LINE UP”选项卡,可以使用以下XPath完成此操作:"//div[text()='LINE UP']"。要单击“STATS”选项卡,可以使用以下XPath:"//div[text()='STATS']"。因此,Selenium代码行可以如下所示:

WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//div[text()='LINE UP']"))).click()

对于LINE UP选项卡和

WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//div[text()='STATS']"))).click()

"STATS"选项卡的。
此外,您需要改进定位器。非常长的绝对XPath非常容易损坏。

相关问题