python - 使用 Selenium Web 驱动程序提取我想要的值时遇到问题

标签 python html selenium web-scraping selenium-chromedriver

我想从网站中提取零件编号值:

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/

相关文章:

python - 如何在 Python 代码中查找列号

python - 语法错误: invalid syntax using path to file in 'with open' [closed]

python - 升级到 Chromedriver 76 导致警报自动关闭

javascript - Selenium Webdriver 在 starbucks.com 上被屏蔽,有什么办法吗?

python - gunicorn django 上的 CRITICAL WORKER TIMEOUT 错误

python - '[A' 在打印命令中有什么作用?

javascript - 使用 getElementsByClassName 访问内联 CSS 属性

javascript - 延迟视口(viewport)位置按钮的不透明度

CSS table-cell 奇怪的间隙问题

maven - 我们可以在 selenium 中添加驱动程序作为 maven 依赖项吗