code: def getTransactionByBlock(self, block_identifier, transaction_index):
          
          method = select_method_for_block_identifier(
              block_identifier,
              if_predefined='eth_getTransactionByBlockNumberAndIndex',
              if_hash='eth_getTransactionByBlockHashAndIndex',
              if_number='eth_getTransactionByBlockNumberAndIndex',
          )
          result = self.web3.manager.request_blocking(
              method,
              [block_identifier, transaction_index],
          )
          if result is None:
              raise TransactionNotFound(
                  f"Transaction index: {transaction_index} "
                  f"on block id: {block_identifier} not found."
              )
          return result
docs: `eth_getTransactionByBlockHashAndIndex`
          `eth_getTransactionByBlockNumberAndIndex`