def func(self): page = self.browser.page() main_frame = page.mainFrame() # elements = main_frame.findAllElements("*") # for element in elements: # name = element.attribute("name") # if not name == "": # print(element.attribute("name")) input_query = main_frame.findFirstElement("input[name=q]") input_luck = main_frame.findFirstElement("input[name=btnI]") input_search = main_frame.findFirstElement("input[name=btnK]") input_query.evaluateJavaScript("this.focus()") input_query.setAttribute("value", "fresh meat") self.browser.event( Qt.QKeyEvent(Qt.QEvent.KeyPress, Qt.Qt.Key_Enter, Qt.Qt.NoModifier)) sleep(50) references = main_frame.findFirstElement("href") print(references)
def keyPressEvent(self, event): if self.open_connection_button.isEnabled() \ or self.deactivate_autonomy_button.isEnabled(): return key = event.key() if not event.isAutoRepeat(): # Driving logic if key == QtCore.Qt.Key_W: if key not in self.drive_keys_pressed: self.drive_keys_pressed.append(key) forwarding_prefix = ForwardingPrefix.MOTOR.value sub_messages = {'l': MOTOR_SPEEDS[Motor.DRIVE_MOTORS.value], 'r': MOTOR_SPEEDS[Motor.DRIVE_MOTORS.value]} message = Message(forwarding_prefix, sub_messages).message self.client.send_message(message) elif key == QtCore.Qt.Key_S: if key not in self.drive_keys_pressed: self.drive_keys_pressed.append(key) forwarding_prefix = ForwardingPrefix.MOTOR.value sub_messages = {'l': -1 * MOTOR_SPEEDS[Motor.DRIVE_MOTORS.value], 'r': -1 * MOTOR_SPEEDS[Motor.DRIVE_MOTORS.value]} message = Message(forwarding_prefix, sub_messages).message self.client.send_message(message) elif key == QtCore.Qt.Key_A: if key not in self.drive_keys_pressed: self.drive_keys_pressed.append(key) forwarding_prefix = ForwardingPrefix.MOTOR.value sub_messages = {'l': -1 * MOTOR_SPEEDS[Motor.DRIVE_MOTORS.value], 'r': 1 * MOTOR_SPEEDS[Motor.DRIVE_MOTORS.value]} message = Message(forwarding_prefix, sub_messages).message self.client.send_message(message) elif key == QtCore.Qt.Key_D: if key not in self.drive_keys_pressed: self.drive_keys_pressed.append(key) forwarding_prefix = ForwardingPrefix.MOTOR.value sub_messages = {'l': 1 * MOTOR_SPEEDS[Motor.DRIVE_MOTORS.value], 'r': -1 * MOTOR_SPEEDS[Motor.DRIVE_MOTORS.value]} message = Message(forwarding_prefix, sub_messages).message self.client.send_message(message) # Motor speed adjustment mode logic elif key == QtCore.Qt.Key_1: self.motor_speed_to_adjust = Motor.DRIVE_MOTORS.value print 'Motor speed adjustment mode:', str(self.motor_speed_to_adjust) elif key == QtCore.Qt.Key_2: self.motor_speed_to_adjust = Motor.ACTUATOR.value print 'Motor speed adjustment mode:', str(self.motor_speed_to_adjust) elif key == QtCore.Qt.Key_3: self.motor_speed_to_adjust = Motor.BUCKET.value print 'Motor speed adjustment mode:', str(self.motor_speed_to_adjust) # Actuator logic elif key == QtCore.Qt.Key_U: if key not in self.actuator_keys_pressed: self.actuator_keys_pressed.append(key) forwarding_prefix = ForwardingPrefix.MOTOR.value sub_messages = {'a': MOTOR_SPEEDS[Motor.ACTUATOR.value]} message = Message(forwarding_prefix, sub_messages).message self.client.send_message(message) elif key == QtCore.Qt.Key_J: if key not in self.actuator_keys_pressed: self.actuator_keys_pressed.append(key) forwarding_prefix = ForwardingPrefix.MOTOR.value sub_messages = {'a': -1 * MOTOR_SPEEDS[Motor.ACTUATOR.value]} message = Message(forwarding_prefix, sub_messages).message self.client.send_message(message) # Bucket logic elif key == QtCore.Qt.Key_I: if key not in self.bucket_keys_pressed: self.bucket_keys_pressed.append(key) forwarding_prefix = ForwardingPrefix.MOTOR.value sub_messages = {'b': MOTOR_SPEEDS[Motor.BUCKET.value]} message = Message(forwarding_prefix, sub_messages).message self.client.send_message(message) elif key == QtCore.Qt.Key_K: if key not in self.bucket_keys_pressed: self.bucket_keys_pressed.append(key) forwarding_prefix = ForwardingPrefix.MOTOR.value sub_messages = {'b': -1 * MOTOR_SPEEDS[Motor.BUCKET.value]} message = Message(forwarding_prefix, sub_messages).message self.client.send_message(message) # Motor speed adjustment logic if key == QtCore.Qt.Key_Up: if MOTOR_SPEEDS[self.motor_speed_to_adjust] < MAX_MOTOR_SPEED: MOTOR_SPEEDS[self.motor_speed_to_adjust] += 1 print MOTOR_SPEEDS[self.motor_speed_to_adjust] if len(self.drive_keys_pressed): self.keyPressEvent(Qt.QKeyEvent(Qt.QEvent.KeyPress, self.drive_keys_pressed[-1], QtCore.Qt.NoModifier)) elif key == QtCore.Qt.Key_Down: if MOTOR_SPEEDS[self.motor_speed_to_adjust] > 0: MOTOR_SPEEDS[self.motor_speed_to_adjust] -= 1 print MOTOR_SPEEDS[self.motor_speed_to_adjust] if len(self.drive_keys_pressed): self.keyPressEvent(Qt.QKeyEvent(Qt.QEvent.KeyPress, self.drive_keys_pressed[-1], QtCore.Qt.NoModifier))
# encoding: utf-8 if __name__ == '__main__': from PyQt5 import Qt, QtWidgets, QtCore enter_event = Qt.QKeyEvent(Qt.QEvent.KeyPress, Qt.Qt.Key_Enter, Qt.Qt.NoModifier) import MainPane MainPane.start_app()