我想創建一個回圈來遍歷 aria-label 的頁碼。
browser.find_element_by_css_selector('[aria-label="Page 1"').click()
browser.find_element_by_css_selector('[aria-label="Page 2"').click()
browser.find_element_by_css_selector('[aria-label="Page 3"').click()
browser.find_element_by_css_selector('[aria-label="Page 4"').click()
我嘗試創建一個while回圈,但無法讓它作業。
x=0
while x<10:
print(browser.find_element_by_css_selector('[aria-label="Page [x]"'))
x=x 1
收到錯誤資訊
NoSuchElementException Traceback (most recent call last)
NoSuchElementException: Message: no such element: Unable to locate element: {"method":"css selector","selector":"[aria-label="Page [x]]""}
到目前為止,以下代碼有效:
for index in range(10):
selector = f'[aria-label="Page {index}"'
print(selector)
上面的代碼列印
[aria-label="Page 0"]
[aria-label="Page 1"]
[aria-label="Page 2"]
[aria-label="Page 3"]
[aria-label="Page 4"]
[aria-label="Page 5"]
[aria-label="Page 6"]
[aria-label="Page 7"]
[aria-label="Page 8"]
[aria-label="Page 9"]
uj5u.com熱心網友回復:
執行此操作的慣用 Python 方法是使用 for 回圈和格式運算式:
for index in range(10):
selector = f'[aria-label="Page {index}"]'
element = browser.find_element_by_css_selector(selector)
# Do whatever you want to 'element' here
該range函式回傳一個 iterable,它產生從 0 到 exclusive 傳遞的引數的連續整數。如果您想啟動不同的索引,請將其作為第一個引數傳遞range(1, 11)。
格式字串通過替換花括號中包含的運算式的字串表示來作業。具體來說
- 評估運算式(在這里,它只是值
index - 呼叫
__format__運算式結果的方法,這里是int - 由于我們沒有在 f 字串中指定任何例外格式,因此
__format__基本上只是呼叫__str__該值。 __str__在一個 int 上只回傳一個 int 的十進制字串表示(例如1.__str__() == '1'
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/421034.html
標籤:
