我想从网站中提取零件编号值:
https://www.mcmaster.com/rivet-nuts/twist-resistant-rivet-nuts-6/material~stainless-steel/
我已将“data-mcm-partnbr”标识为我需要查找所需值的变量。它位于“PartNbrLnk”类中。该网站上有 12 个零件号。这就是我到目前为止一直在尝试的方法,并且我已经返回了一个空集。我做错了什么?
driver.get(url)
for x in part_number_list:
part_number = driver.find_elements_by_class_name("PartNbrLnk")
part_number_list.append(part_number)
print(part_number_list)
欢迎任何帮助。谢谢
最佳答案
要获取属性的值,请使用 .get_attribute("name of attribute")
根据您的情况,您需要尝试:
myElement.get_attribute("data-mcm-partnbr")
你的逻辑似乎也有一点小问题。
您需要先获取所有网络元素,然后循环收集您的值。
您可能想尝试:
driver.get(url)
#get all the parts
all_Parts = driver.find_elements_by_class_name("PartNbrLnk")
#create an array for storage
part_number_list = []
#loop through all your identified parts
for part in all_Parts:
#extract the part number
part_number = part.get_attribute("data-mcm-partnbr")
#print it for good measure
print(part_number)
#Append it like you were doing before
part_number_list.append(part_number)
最终结果是 part_number_list
是一个可以随意处理的数组。
关于python - 使用 Selenium Web 驱动程序提取我想要的值时遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63675125/