我正在努力讓所有回合都相同,我能做的最好的就是改變第一個。當前代碼已打開所有玩家記分卡,現在我只需要能夠為所有玩家選擇同一輪。
忽略我正在嘗試一些事情的所有進口,我對此非常陌生
謝謝!
from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.common.by import By
from selenium.common.exceptions import NoSuchElementException
from selenium.webdriver.support.ui import Select
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.ui import WebDriverWait
from bs4 import BeautifulSoup
import requests
PATH = "C:\Program Files (x86)\Chrome\chromedriver_win32\chromedriver.exe"
driver = webdriver.Chrome(PATH)
driver.get("https://www.espn.com/golf/leaderboard?tournamentId=401353233")
xpath_number = 1
while True:
try:
element = driver.find_element_by_xpath(f'//*[@id="fittPageContainer"]/div[3]/div/div/section[3]/div/div/div/div[2]/div[3]/div/div/div/div[2]/table/tbody/tr[{xpath_number}]/td[1]')
xpath_number = 1
action = ActionChains(driver)
action.click(element)
action.perform()
except NoSuchElementException:
break
uj5u.com熱心網友回復:
此代碼運行第一個回圈以打開記分卡,然后運行第二個回圈以更改回合。n 為整數的命令.send_keys(Keys.DOWN * n)
,按向下箭頭 n 次。
import time
from selenium.webdriver.common.keys import Keys
number_of_players = 10
round_to_select = 1
for idx,down_arrow in enumerate(driver.find_elements(By.CSS_SELECTOR, '.Table__TD:first-child')):
if idx < number_of_players:
down_arrow.click()
time.sleep(.5)
else:
break
if round_to_select < 4:
for idx,menu in enumerate(driver.find_elements(By.CSS_SELECTOR, '.competitors select[class=dropdown__select]')):
if idx < number_of_players:
menu.send_keys(Keys.DOWN * (4-round_to_select))
time.sleep(.5)
else:
break
或者,menu.send_keys(Keys.DOWN * (4-round_to_select))
我們也可以使用Select
如下
from selenium.webdriver.support.ui import Select
...
if round_to_select < 4:
for idx,menu in enumerate(driver.find_elements(By.CSS_SELECTOR, '.competitors select[class=dropdown__select]')):
if idx < number_of_players:
Select(menu).select_by_visible_text(f'Round {round_to_select}')
time.sleep(.5)
else:
break
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/478795.html