我选择了一个网站的一部分使用xpath抓取数据,使用这个命令可以很好地工作:
artistNames = driver.find_elements_by_xpath('//*[@id="divAuctionRecords"]/div[position()>=1 and position()<=1100]/div/div[2]/table/tbody/tr[1]/td[3]/a')
我创建了一个空列表All_artists_names = [] and一个名为artist_param = "Artist">
的验证器/参数I used a for loop to loop through and assign data to various lists but I keep getting
TypeError: argument of type 'WebElement' is not iterable
这是for循环:
for med in range(len(artistNames)):
if artist_param in artistNames[med]:
all_artists_names.append(artistMedium[med].text)
elif auction_param in artistMedium[med]:
all_artists_auction.append(artistMedium[med].text)
else:
all_artists_medium[med].append(" ")
这有可能实现吗?
所以我意识到,任何时候你想循环通过一个webELement并指定一个条件,这个语法可以帮助你:
for variable_name in range(len(variable_from_webElement_extract)):
if parameter_you_want_to_set in variable_from_webElement_extract[variable_name].text:
new_list_to_append_values.append(variable_from_webElement_extract[variable_name].text)
else:
other_list_to_hold_other_values.append(variable_from_webElement_extract[variable_name].text)