我想知道如何遍歷 Selenium 中的內容。基本上,我只想創建一個 for 回圈來查找早于某個時間的所有“面板標題”,然后是一個 if 陳述句,如果它有 4 個高爾夫球手,那么我將單擊預訂按鈕。
我只是不確定您如何通過 xpath 迭代 HTML 中的這些內容。到目前為止,我所能做的只是使用下面的代碼單擊正確的日期,但是我無法弄清楚
### Gets Edge driver and doesnt need extension update
driver = webdriver.Edge(service=EdgeService(EdgeChromiumDriverManager().install()))
driver.get(
'https://teewire.net/granada/'
)
driver.maximize_window()
pause(2)
data_moment = "2022-10-30"
driver.find_element(By.XPATH,f"//*[@id='gz-time-slot-calendar']//a[@data-moment='{data_moment}']").click()
pause(5)
data_moment = "2022-10-30"
driver.find_element(By.XPATH,f"//*[@id='gz-time-slot-calendar']//a[@data-moment='{data_moment}']").click()
pause(5)
a = driver.find_elements(By.XPATH,"//*[@id='time-slots-container-id']//a[@class='{'panel-heading'}']")
pause(2)
for i in a:
print(i.text)
這是一個附件。HTML
uj5u.com熱心網友回復:
試試這個代碼:
golfers_text = driver.find_elements(By.CSS_SELECTOR, ".panel.panel-default.teetime .panel-body")
i = 0
for golfer_text in golfers_text:
value = golfer_text.text
print(value)
if "Up to 4 golfers" in value:
driver.find_element(By.XPATH, "(//*[@class='panel panel-default teetime']//div[@class='panel-body']/button)[" str(i 1) "]").click()
break
print("------")
i = 1
uj5u.com熱心網友回復:
在檔案中我發現了這個:
driver.find_elements(By.XPATH, '//button')
https://selenium-python.readthedocs.io/locating-elements.html
我寫的一個簡單的例子是:
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.by import By
from webdriver_manager.chrome import ChromeDriverManager
driver = webdriver.Chrome(ChromeDriverManager().install())
driver.get("https://www.theregister.com/")
elements = driver.find_elements(By.XPATH, '//article')
first = elements[0]
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/525185.html
標籤:html硒循环
上一篇:添加新元素時將元素保留在陣列中
