0

我对 Python 和 Selenium 还很陌生。我正在尝试在 VS Code 中使用 Python 和 Selenium 从网页中收集元素。我已经在其他网页上做过类似的事情,所以我可以确认设置和驱动程序都可以正常工作。这是我将尝试逐行解释的代码。

'// Creating an empty Array of Names'
Names = []

'// Finding and Saving the Table im interested in'
Table = driver.find_element_by_id("pokedex")

'// Finding and Saving in a list all the elements with a particular class name'
NameCells = Table.find_elements_by_class_name("cell-name")

'// Looping through the List'
for NameCell in NameCells:

    '// If it finds a child element with a particular class...'
    if NameCell.find_elements(By.CLASS_NAME, "text-muted"):

        '// ... append it in the array once transformed into text'
        Names.append(NameCell.find_element(By.CLASS_NAME, "text-muted").text)

    '// ... else...'
    else:

        '// ... append an element with another class into the array once transformed into text.'
        Names.append(NameCell.find_element(By.CLASS_NAME, "ent-name").text)

'// .. and print the array.'
print(Names)

问题是,虽然我可以在第二行和第三行代码中使用像“find_element”这样的函数……但我不能在 for 循环中使用它,在第五行代码中。在数字化“。”之后,VS Code 甚至没有向我显示预期的功能。我试图自己完成它,希望它能奏效,但当然没有。

为什么会这样?

为什么有时我不能使用 WebElements 功能?

我注意到它主要发生在对象列表而不是单个对象上。

4

0 回答 0