selenium 如何将解析的数据保存到两个不同的列表中

gwbalxhn  于 2022-11-29  发布在  其他
关注(0)|答案(1)|浏览(143)

我有这样的代码:

lokk = []
nums = 7
for _ in range(nums):
    inner = driver.find_element_by_xpath(
        "/html/body/div[1]/div[2]/div/div/div/div[2]/div/div/div/div[2]/div[2]/div/div/div[2]/div[5]/span[1]").get_attribute(
        "innerHTML")
    lokk.append(inner)
    time.sleep()
    print(lokk)

它提供给我这些数据:
['1', '2', '3', '4', '5', '6', '7']
我想要做的是将该数据保存到两个不同的列表中,第一列表包含前六个值,例如['1', '2', '3', '4', '5', '6'],第二列表包含全部七个值,例如['1', '2', '3', '4', '5', '6', '7'],无论我想要它是什么,使得所收集的数据的下一样本包含第二列表的最后一个值,作为列表对的第一个值,例如['7', '8', '9', '10', '11', '12', '13']
我原以为这段代码可以让be像我所希望的那样获取不同列表中的数据,但很快意识到,当它为第二个包含七个值的列表获取第二组数据时,数据可能已经更改,而这不是我所希望的

lok = []
num = 6
for _ in range(num):
    inner = driver.find_element_by_xpath(
    "/html/body/div[1]/div[2]/div/div/div/div[2]/div/div/div/div[2]/div[2]/div/div/div[2]/div[5]/span[1]").get_attribute(
        "innerHTML")
    lok.append(inner)
    time.sleep(10)
    print(lok)

lokk = []
nums = 7
for _ in range(nums):
    inner = driver.find_element_by_xpath(

"/html/body/div[1]/div[2]/div/div/div/div[2]/div/div/div/div[2]/div[2]/div/div/div[2]/div[5]/span[1]").get_attribute(
        "innerHTML")
    lokk.append(inner)
    time.sleep()
    print(lokk)

另一个缺陷是,当稍后再次运行该过程时,第七个数据将不是新列表集的第一个数据。这意味着:

listA = ['1', '2', '3', '4', '5', '6']
listB = ['1', '2', '3', '4', '5', '6', '7']
ListC = ['7', '8', '9', '10', '11', '12']
listD = ['7', '8', '9', '10', '11', '12', '13']

它将是:

listA = ['1', '2', '3', '4', '5', '6']
listB = ['1', '2', '3', '4', '5', '6', '7']
ListC = ['8', '9', '10', '11', '12', '13']
listD = ['8', '9', '10', '11', '12', '13', '14']`

我真的希望我已经足够清楚我在寻找什么帮助,如果不是请让我知道。请帮助:(

58wvjzkj

58wvjzkj1#

你可以用很多方法来实现这一点,试试这个:
对于ListC

lok_c = []
    num_c = 13
    for _ in range(num_c):
        inner = driver.find_element_by_xpath("/html/body/div[1]/div[2]/div/div/div/div[2]/div/div/div/div[2]/div[2]/div/div/div[2]/div[5]/span[1]").
get_attribute("innerHTML")
        if num_c > 7:
            lok_c.append(inner)
        time.sleep()
        print(lok_c)

对于ListD

lok_d = []
    num_d = 14
    for _ in range(num_d):
        inner = driver.find_element_by_xpath("/html/body/div[1]/div[2]/div/div/div/div[2]/div/div/div/div[2]/div[2]/div/div/div[2]/div[5]/span[1]").
get_attribute("innerHTML")
        if num_d > 7:
            lok_c.append(inner)
        time.sleep()
        print(lok_d)

如果我遗漏了什么,请更正缩进和变量名。

相关问题