我當前的代碼中寫有一個明確的 URL,它告訴它導航到一個特定的網站并運行其余的命令。
是否有辦法讓我在 Excel 中編制這些鏈接的大串列,并讓 Python 在其中進行代碼回圈,從而使每次運行都基于一個新的鏈接?
這是一個使用明確粘貼的網站URL的代碼片段:
driver.get("https://www.website.com")
driver.find_element_by_css_selector('[class="k-widget k-dropdown ic-can-be-dirty"]'/span>).click()
代碼從這里開始。因為我想在我們網站的許多鏈接上運行該代碼,我很想找到一種方法,通過Excel源代碼或記事本檔案或其他任何東西來動態地改變這個鏈接。
根據建議更新的代碼:
with open(path_to_csv) as mycsv:
reader = csv.reader(mycsv)
for row in reader:
urlstring = row[0]
驅動程式.get(urlstring)
driver.find_element_by_css_selector('[class="k-widget k-dropdown ic-can-be-dirty"]'/span>).click()
time.sleep(1)
uj5u.com熱心網友回復:
是的,你可以使用Python來決議一個.csv或文本檔案,并對決議后的字串做一些事情。
如果你用一個 .csv 檔案來做這件事,而這個檔案的第一列中只有一個 urls 串列,那么下面的回圈應該可以作業。為了與平臺無關,下面的代碼使用了pathlib庫,但是請注意,pathlib并不是必需的。你只需要確保open()函式收到一個為你的平臺/作業系統正確格式化的路徑字串。有一點需要注意的是,我不知道你的driver是什么,但這假設你想明確地匯入它。
import csv
from pathlib import Path
import driver
path_to_csv = Path("YourPathToCSV.csv")
with open(path_to_csv) as mycsv:
reader = csv.reader(mycsv)
for row in reader:
urlstring = row[0]
驅動程式.get(urlstring)
driver.find_element_by_css_selector('[class="k-widget k-dropdown ic-can-be-dirty"]'/span>).click()
如果你的 .csv 檔案比單列字串串列更復雜,你可以利用更高級的字串決議,只在檔案中包含 urls 的行上運行你想要的函式,或者在某些行/列的 urls 上運行,而不是其他行,等等。
也有其他方法可以做到這一點。你可以將你讀入的字串做成一個 Python 串列,然后用你想要的 driver 函式在該串列上回圈。
如果你的 .csv 是以非正常的格式編碼的,比如 CSV UTF-8 或完整的 Excel 檔案,你需要在 open() 函式的引數中指定它 (更多資訊請見 這個帖子)。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/306644.html
標籤:
上一篇:初始化沒有列名的資料框架
