【问题标题】:Having Trouble extracting the Value I want with Selenium Web Driver无法使用 Selenium Web 驱动程序提取我想要的值
【发布时间】:2020-12-19 19:52:25
【问题描述】:

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

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)

欢迎任何帮助。谢谢

【问题讨论】:

    标签: python html selenium web-scraping selenium-chromedriver


    【解决方案1】:

    要获取属性的值,请使用.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 是一个可以随意处理的数组。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-09-17
      • 1970-01-01
      • 1970-01-01
      • 2023-04-04
      • 1970-01-01
      • 2020-01-19
      • 2017-09-03
      • 1970-01-01
      相关资源
      最近更新 更多