我正在嘗試將 i 引數傳遞給 xpath 運算式,但是語法似乎不正確。
i = 1
while i < 9:
day1Temp = driver.find_element(By.XPATH, "//*[@id='wob_dp']/div[", i, "]/div[3]/div[1]/span[1]")
print(day1Temp.text)
誰能建議這里有什么問題?
謝謝!
uj5u.com熱心網友回復:
決議i,你可以使用f-string如下:
i = 1
while i < 9:
day1Temp = driver.find_element(By.XPATH, f"//*[@id='wob_dp']/div[{i}]/div[3]/div[1]/span[1]")
uj5u.com熱心網友回復:
這是您可以修復代碼的方法。也不要忘記增加i
i = 1
while i < 9:
day1Temp = driver.find_element(By.XPATH, "//*[@id='wob_dp']/div[%d]/div[3]/div[1]/span[1]" % i)
print(day1Temp.text)
i = 1
uj5u.com熱心網友回復:
你已經初始化
i = 1
因此i是int型別
在 xpath 中,您需要i作為string傳遞。所以你必須將i的型別轉換為string。
解決方案
使用f-strings您的有效代碼塊將是:
i = 1
while i < 9:
day1Temp = driver.find_element(By.XPATH, f"//*[@id='wob_dp']/div[{str(i)}]/div[3]/div[1]/span[1]")
列印(day1Temp.text)
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/466288.html
上一篇:使用Seleniumwebdriver創建新的python類
下一篇:如何使用Selenium查找元素
