Python Selenium findet Button nicht?

Hi, ich habe ein Script geschrieben welches nacheinander auf verschiedene Buttons klickt und sich einloggt. Beim letzen Button kommt allerdings immer die Fehlermeldung, dieser sei nicht gefunden worden. Habe es sowohl mit Link_Text als auch mit ID versucht.

from selenium import webdriver
from selenium.webdriver.common.by import By
import selenium.webdriver.common
import selenium.webdriver.common.actions
from selenium.webdriver.support import expected_conditions as EC
from pynput.keyboard import Key, Controller
import time
from selenium.webdriver.support.wait import WebDriverWait
import win32clipboard

keyboard = Controller()

PATH = "C:\Program Files (x86)\chromedriver.exe"
driver = webdriver.Chrome(PATH)

driver.get("https://04101643.moodle.belwue.de/moodle/blocks/exa2fa/login/")
driver.maximize_window()

username = driver.find_element_by_id("username")
password = driver.find_element_by_id("password")

username.send_keys("---")  #Name und Passwort hab ich natürlich nur zum hochladen hier entfernt ;)
password.send_keys("---")

login = driver.find_element_by_id("loginbtn")
login.click()

time.sleep(5)

fach = driver.find_element_by_partial_link_text("Mathematik")
fach.click()

time.sleep(3)

bbb = driver.find_element_by_xpath('//img[contains(@src,"https://04101643.moodle.belwue.de/moodle/theme/image.php/boost/bigbluebuttonbn/1609841251/icon")]')
bbb.click()

time.sleep(3)

teilnehmen = driver.find_element_by_id("join_button_input")
teilnehmen.click()

time.sleep(5)

keyboard.press(Key.ctrl)
keyboard.press('l')
time.sleep(1)
keyboard.release(Key.ctrl)
keyboard.release('l')
time.sleep(1)
keyboard.press(Key.ctrl)
keyboard.press('c')
time.sleep(1)
keyboard.release(Key.ctrl)
keyboard.release('c')

win32clipboard.OpenClipboard()
page = win32clipboard.GetClipboardData()    #Muss man hier das Fenster wechseln?
win32clipboard.CloseClipboard()             #Hinweis beim Klicken auf den vorherigen Button wird der Link in einem neuen Tab geöffnet

driver.get(page)                                 #Hier geht es dann zu BigBlueButton (Videochat Seite) auf der der letzte Button gedrückt werden soll

time.sleep(1)

keyboard.press(Key.ctrl)
keyboard.press('w')
time.sleep(1)
keyboard.release(Key.ctrl)
keyboard.release('w')

time.sleep(3)

mode = driver.find_element_by_partial_link_text("Nur")  #Den hier findet es nicht (falls es jemand kennt: Ist der ,,Nur zuhören" Button von BigBlueButton, habe den Code leider nicht da
mode.click()

Für Hinweise oder Lösungen des Problems wäre ich sehr dankbar. Falls es Unklarheiten gibt, gerne einen Kommentar schreiben.

Computer, programmieren, Informatik, Python, Script, Selenium
wie kann ich das if und else problem in batch beheben?

hallo, ich bin dabei in Batch einen "Taschenrechner" zu programmieren mit den simplen Funtionen (Addition, Subtraktion, Multiplikation, Division). Dafür brauche ich allerdings IF und ELSE. Ich habe schon vieles probiert, aber finde den Fehler in meinem Script nicht, warum "IF" nicht funktioniert..

danke schonmal im voraus, lg L

mein Script:

@echo off

echo a Addition      c Multiplikation

echo b Subtraktion   d Division

set/a a=a

set/a b=b

set/a c=c

set/a d=d

set /P eingabe="Rechenoperation: "

IF %eingabe% EQU %a% goto a Addition ELSE if %eingabe% EQU %b% goto b Subtraktion ELSE if %eingabe% EQU %c% goto c Multiplikation ELSE if %eingabe% EQU %d% goto d Division

:a Addition

echo Addition:

set /P summand1="Summand 1: "

set /P summand2="Summand 2: "

set/a ergebnis1=%summand1% + %summand2%

echo Summe: %ergebnis1%

goto ende

:b Subtraktion

echo Subtraktion:

set /P minuend="Minuend: "

set /P subtrahend="Subtrahend: "

set/a ergebnis2=%minuend% - %subtrahend%

echo Differenz: %ergebnis2%

goto ende

:c Multiplikation

echo Multiplikation:

set /P faktor1="Faktor 1: "

set /P faktor2="Faktor 2: "

set/a ergebnis3=%faktor1% * %faktor2%

echo Produkt: %ergebnis3%

goto ende

:d Division

echo Division:

set /P dividend="Dividend: "

set /P divisor="Divisor: "

set/a ergebnis4=%dividend% / %divisor%

echo Quotient: %ergebnis4%

:ende

pause>NUL

Computer, Windows, Technik, programmieren, Batch, Batch-Dateien, Script, Technologie, if else
Unity: Warnungen bei Skript?

Hi,

ich mache zurzeit ein Spiel mit Unity und stoße dabei vor ein Problem.

Ich habe nun ein Skript für meinen Spieler, der sich aber trotz allem nicht bewegen oder springen will. Nun habe ich alle Fehlermeldungen abgearbeitet und es klappt immer noch nicht.

Das einzige was bleibt, sind drei Warnungen:

Assets\Scripts\FirstPersonController.cs(7,36): warning CS0649: Field 'FirstPersonController.speed' is never assigned to, and will always have its default value 0
Assets\Scripts\FirstPersonController.cs(9,36): warning CS0649: Field 'FirstPersonController.JumpraycastDistance' is never assigned to, and will always have its default value 0
Assets\Scripts\FirstPersonController.cs(8,33): warning CS0649: Field 'FirstPersonController.jumpforce' is never assigned to, and will always have its default value 0

Ich habe leider absolut keine Ahnung, was das mir sagen soll. Ok, doch, habe ich, aber wie beseitige ich sie?

Programm:

public class FirstPersonController : MonoBehaviour
{
  [SerializeField]
  private float speed;

  [SerializeField]
  private float jumpforce;

  [SerializeField]
  private float JumpraycastDistance;

  private Rigidbody rb;

  private void Start()
  {
    rb = GetComponent<Rigidbody>();
  }

  private void update()
  {
    Jump();
  }

  private void Move()
  {
    float hAxis = Input.GetAxisRaw("Horizonta");
    float vAxis = Input.GetAxisRaw("Vertical");
    Vector3 movement = new Vector3(hAxis, 0, vAxis) * speed;
    Vector3 newPosition = rb.position + rb.transform.TransformDirection(movement);
    rb.MovePosition(newPosition);
  }

  private void Fixeduptade()
  {
    Move();
  }

  private void Jump()
  {
    if (Input.GetKeyDown(KeyCode.Space))
    {
      if (IsGrounded())
      {
        rb.AddForce(0, jumpforce, 0, ForceMode.Impulse);
      }
    }
  }

  private bool IsGrounded()
  {
    Debug.DrawRay(transform.position, Vector3.down * JumpraycastDistance, Color.blue);
    return (Physics.Raycast(transform.position, Vector3.down, JumpraycastDistance));
  }
}

Ich hoffe wirklich, mir kann jemand helfen!

Ein riesiger Dank geht an jeden, der zumindest darüber nachgedacht hat, mir zu helfen oder mir sogar vielleicht noch helfen kann!

programmieren, Script, Unity 3D, Fehlermeldung, Unity
Roblox Studio Script funktioniert nicht!Was kann ich tun?

Hallo : - )

Ich bin gerade dabei bei Roblox studio ein Tycoon zu programmieren aber ich komme nicht weiter.

Also, ich habe einen Dropper gebaut , der auch funktioniert .

Jetzt habe ich noch eine BooleanValue erstellt , mit der man den Dropper an und aus schalten können soll.

Also hab ich den Script vom Dropper noch in einer if loop verpackt.

Aber der Script bemerkt nicht wenn ich die Variable verändere.

Wenn ich Variable auf true stelle und dann einen Testlauf starte, dann ist der Dropper aktiv, aber wenn ich dann während des Testes die Variable auf false stelle , dann hört der Dropper nicht auf sondern macht einfach weiter.

Anderstherum ist es genauso:

Wenn ich die Variable auf false stelle und dann einen Testlauf starte , dann ist der dropper wie geplant nicht aktiv, aber wenn ich dan währen des Testlaufes die Variable auf true stelle, dann fängt der Dropper nicht an sondern bleibt einfach inaktiv.

Hier ist der Script von meinem Dropper:

___________________________________________________________________________________

wait(3)

while true do

if script.Parent.Value.Value == true then

wait(3)

print('true detected')

local droppart = Instance.new('Part',game.Workspace)

droppart.Size = Vector3.new(1,1,1)

droppart.Position = script.Parent.Orientation.Position

droppart.Name = 'DesktopCoin1'

droppart.Material = Enum.Material.Neon

droppart.BrickColor = BrickColor.new('CGA brown')

else

if script.Parent.Value.Value == false then

print('false detected')

end

end

end

________________________

Vielen Dank im Vorraus : )

Ps: ich versuche noch einen Screenshot vom Explorer hinzuzufügen:

Der Script vom Dropper heißt PartValue, und untendrunter das ist die BooleanValue

_____

Hier noch ein Screenshot vom Script:

_________

Vielen Dank fürs lesen XD

Bild zu Frage
Spiele, Computer, lua, Roblox, Script, Variablen, Roblox Studio, Spiele und Gaming
Wie kann ich ein PowerShell-Skript mit dem X-Button beenden?

Ich habe eine MessageBox und möchte das Skript beenden, sobald X gedrückt wird.

Kann ich eine Variable hochzählen, wenn ein anderer Button gedrückt wird? Eine Variable, die verhindert, dass mein Skript beendet wird? Mit onClick oder so?

$version = "xy"
Add-Type -AssemblyName System.Windows.Forms

[System.Windows.Forms.Application]::EnableVisualStyles()

$START = New-Object system.Windows.Forms.Form
$START.ClientSize = '400,282'
$START.text = $version
$START.TopMost = $false
$Label1a = New-Object system.Windows.Forms.Label
$Label1a.text = "Inhaltt:"
$Label1a.AutoSize = $true
#$Label1a.width = 25
#$Label1a.height = 10
$Label1a.location = New-Object System.Drawing.Point(9, 24)
$Label1a.Font = 'Microsoft Sans Serif,10'
$Button1a = New-Object system.Windows.Forms.Button
$Button1a.text = "OK"
$Button1a.width = 381
$Button1a.height = 30
$Button1a.location = New-Object System.Drawing.Point(9, 243)
$Button1a.Font = 'Microsoft Sans Serif,10'
$Button1a.add_Click({$START.close()}) #MessageBox wird geschlossen
$TextBox1a = New-Object system.Windows.Forms.TextBox
#$TextBox1a.multiline = $false
$TextBox1a.text = "Inhalt"
$TextBox1a.width = 55
$TextBox1a.height = 20
$TextBox1a.location = New-Object System.Drawing.Point(9, 45)
$TextBox1a.Font = 'Microsoft Sans Serif,10'
$TextBox2a = New-Object system.Windows.Forms.TextBox
#$TextBox2.multiline = $false
$TextBox2a.text = "Inhalt"
$TextBox2a.width = 381
$TextBox2a.height = 20
$TextBox2a.location = New-Object System.Drawing.Point(9, 119)
$TextBox2a.Font = 'Microsoft Sans Serif,10,style=Italic'
$Label2a = New-Object system.Windows.Forms.Label
$Label2a.text = "Inhalt:" #$inputpath #Variable muss noch definiert werden
$Label2a.AutoSize = $true
#$Label2a.width = 25
#$Label2a.height = 10
$Label2a.location = New-Object System.Drawing.Point(9, 98)
$Label2a.Font = 'Microsoft Sans Serif,10'
$Label3a = New-Object system.Windows.Forms.Label
$Label3a.text = "Inhalt:" #$outputpath
$Label3a.AutoSize = $true
#$Label3a.width = 25
#$Label3a.height = 10
$Label3a.location = New-Object System.Drawing.Point(9, 172)
$Label3a.Font = 'Microsoft Sans Serif,10'
$TextBox3a = New-Object system.Windows.Forms.TextBox
#$TextBox3a.multiline = $false
$TextBox3a.text = "Inhalt"
$TextBox3a.width = 381
$TextBox3a.height = 20
$TextBox3a.location = New-Object System.Drawing.Point(9, 192)
$TextBox3a.Font = 'Microsoft Sans Serif,10,style=Italic'
$START.controls.AddRange(@($Label1a, $Button1a, $TextBox1a, $TextBox2a, $Label2a, $Label3a, $TextBox3a, $Label1ab))

[void]$START.ShowDialog()
Computer, Windows, programmieren, Code, Script, PowerShell, Powershell ISE

Meistgelesene Fragen zum Thema Script