0

私はPythonとSeleniumにかなり慣れていません。VS Code で Python と Selenium を使用して Web ページから要素を収集しようとしています。他の Web ページで既に同様のことを行っているので、セットアップとドライバーがすべて正常に動作することを確認できます。これは、行ごとに説明しようとするコードです。

'// 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)

問題は、コードの 2 行目と 3 行目で "find_element" のような関数を使用できますが、コードの 5 行目の for ループでは使用できないことです。VS Code は、「.」を数字化した後、期待される機能を表示しません。うまくいくことを願って自分で完成させようとしましたが、もちろんうまくいきませんでした。

なぜそれが起こるのですか?

WebElements 関数を使用できないことがあるのはなぜですか?

単一のオブジェクトではなく、主にオブジェクトのリストで発生していることに気付きました。

4

0 に答える 0