0

編集: 申し訳ありませんが、リンク先の質問と同じではないと思います。もう一度試します。私の問題は次のとおりです。

私は、selenium find_element_by_blabla() コマンドを含む多くの変数を定義した webElements.py というファイルを持っています。例えば:

class CwebElements:

    someBeingBuilt = (logInFile.browser.find_element_by_xpath("//* 
    [@name='zeit']"))

次のように、これらの変数を別のファイル (メイン コード) で使用します。

if webElements.CwebElements.someBeingBuilt:
    print('Busy!')

ここまでは順調ですね。しかし、ここでメイン ファイルを実行すると、すぐに次のエラーが表示されます (コードの冒頭で、実際にこの要素を探す必要があるページに移動する前であっても)。

"... そのような要素はありません: 要素が見つかりません: {"method":"xpath","selector":"//*[@name='zeit']"}"

次のようにラムダを使用しようとしました:

class CwebElements:

    someBeingBuilt = lambda: (logInFile.browser.find_element_by_xpath("//* 
    [@name='zeit']"))

しかし、私がそうすると、プログラムは彼がこの要素「Zeit」を探す必要があるページに到達するまで機能し、常に「Busy!」を出力します。また、次のように書くと:

if logInFile.browser.find_element_by_xpath("//* 
    [@name='zeit']"):
    print('Busy!')

それは実際に機能するので、間違ったコーディングの問題ではなく(私は信じています)、変数内に保存されているSeleniumコマンドを必要なときだけでなく、最初から実行したいというPythonの問題です。

それが今より明確になることを願っています。どうもありがとう!!

4

0 に答える 0