簡體   English   中英

如何定位分頁select按鈕使用Python Selenium

[英]How to locate the pagination select button using Python Selenium

代碼試驗:

from selenium import webdriver 
from selenium.webdriver.support.ui import Select 
from selenium.webdriver.common.by import By
from bs4 import BeautifulSoup
import pandas as pd

driver = webdriver.Firefox()

url = r"https://www.nba.com/stats/players/advanced"
driver.get(url) 

select = Select(driver.find_element(By.XPATH, r"/html/body/div[2]/div[2]/div[2]/div[3]/section[2]/div/div[2]/div[2]/div[1]/div[3]/div/label/div/select"))

select.select_by_index(0) 

無論我嘗試什么,我都找不到這個完整的 Xpath。我只想讓代碼識別從第 1 頁到所有頁面的小按鈕,以在單個頁面上查看所有玩家統計信息。

我研究過類似的問題,但無法解決。

快照:

快照

當路徑似乎不起作用時,開始解決問題的更好方法是在檢查器工具中從左到右逐漸刪除標簽。 通過從您的 xpath 中刪除/html/body/div[2]我能夠在 HTML 中找到該元素

xpath = "//div[2]/div[2]/div[3]/section[2]/div/div[2]/div[2]/div[1]/div[3]/div/label/div/select"
select = Select(driver.find_element(By.XPATH, xpath))

如果我理解正確的話就是這個

在此處輸入圖像描述

要識別從第 1 頁到所有頁面的小按鈕以在單個頁面上查看所有玩家統計信息和 select網站中的一個選項,您可以使用以下定位器策略

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

driver.get('https://www.nba.com/stats/players/advanced')
WebDriverWait(driver, 5).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "button#onetrust-accept-btn-handler"))).click()
Select(driver.find_element(By.XPATH, "//div[starts-with(@class, 'Pagination')]//div[contains(., 'Page')]//following::div[1]//select")).select_by_index(0)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM