問題很簡單,有 java 教程,但我不能將它們應用于 python,因為我是菜鳥。我有一段代碼應該刮掉一個鏈接串列,但只有它們的文本就像頁數一樣 - 在 gsmarena 上,比如 1、2、3、4,然后將它們放入排序的陣列中,最大的數字將bo 選擇作為某個函式將執行的迭代次數,但我得到一個錯誤:AttributeError:'list' object has no attribute 'text',我找不到將這個串列轉換為文本的方法,因為這樣做是通過一個不起作用,因為它必須在 for 回圈中。
def scrape_brands(self, scraped_brands=None):
print("starting to scrape")
for model in self.find_element_by_xpath("/html/body/div[2]/div[1]/div[2]/div/div[2]").find_elements_by_tag_name("tr"):
for values in model.find_elements_by_tag_name("td"):
print(values.text)
values.click()
self.implicitly_wait(2)
print("klikam")
self.scrape_models()
self.implicitly_wait(2)
self.back_to_brands()
def scrape_models(self, scraped_models=None):
for device in self.find_element_by_class_name("makers").find_elements_by_tag_name("a"):
for devices in device.find_elements_by_tag_name("strong"):
print(devices.text)
self.implicitly_wait(1)
print("doprintene")
for i in self.find_element_by_class_name("nav-pages").find_elements_by_tag_name("a"):
x = self.find_element_by_class_name("nav-pages").find_elements_by_tag_name("a").text
x.append
x.sort()
print(x[-1])
self.next_page()
uj5u.com熱心網友回復:
x = self.find_element_by_class_name("nav-pages").find_elements_by_tag_name("a").text
# ^^^^
似乎您的find_elements_by_tag_name方法正在回傳一個串列而不是您期望的單個元素。要么取第一個元素:
x = self.find_element_by_class_name("nav-pages").find_elements_by_tag_name("a")[0].text
# ^^^
或者遍歷這個串列。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/433112.html
