Selenium の位置決め find_element メソッド

Seleniumを学習して以来、要素の配置に関して最初に思い浮かぶのは find_element_by_xxx です。

しかし、今日勉強していたら、次の by を使わない別のメソッド find_element があることを発見しました。

そこで、ソースコードをクリックして表示しようとしましたが、失敗しました(vscodeがサポートしていないためかどうかはわかりません)。

そこで、インターネット上で関連コンテンツを検索したところ、この方法は確かに実現可能であると思われるので、疑わしいソースコードを次のように掲載しました。

  def find_element(self, by=By.ID, value=None):

          """

          根据策略和定位器找到给定的元素。

   

          :使用方法:

              element = driver.find_element(By.ID, 'foo')

   

          :rtype: WebElement

          """

          if self.w3c:

              if by == By.ID:

                  by = By.CSS_SELECTOR

                  value = '[id="%s"]' % value

              elif by == By.TAG_NAME:

                  by = By.CSS_SELECTOR

              elif by == By.CLASS_NAME:

                  by = By.CSS_SELECTOR

                  value = ".%s" % value

              elif by == By.NAME:

                  by = By.CSS_SELECTOR

                  value = '[name="%s"]' % value

          return self.execute(Command.FIND_ELEMENT, {

              'using': by,

              'value': value})['value']

ページのカプセル化にこのメソッドを使用して、最初の要素が位置決めキー、2 番目の要素が位置決め値であるタプルを渡してみます。

  class Page:

   

      url = None

      driver = None

   

      @classmethod

      def cls_element(cls, loc: tuple):

          return cls.driver.find_element(*loc)

   

      def element(self, loc: tuple):

          """

          定位元素的方法

          :param loc:

          :return:

          """

          return self.driver.find_element(*loc)

   

      def elements(self, loc: tuple):

          """

          定位一组元素或多个元素

          :param loc:

          :return:

          """

          return self.driver.find_elements(*loc)

 

最後に:以下の完全なソフトウェア テスト ビデオ チュートリアルが編集され、アップロードされています。必要な友人は自分で入手できます[100% 無料保証]

ソフトウェアテスト面接文書

私たちは高給の仕事を見つけるために勉強しなければなりません。以下の面接の質問は、アリババ、テンセント、バイトなどの一流インターネット企業の最新の面接資料からのものであり、バイトの上司の中には権威ある回答をしている人もいます。 set 面接情報に基づいて、誰もが満足のいく仕事を見つけることができると思います。

おすすめ

転載: blog.csdn.net/wx17343624830/article/details/132831699