Ausgabe
Mein Code funktioniert einwandfrei, wenn ich Chrome nicht im Headless-Modus ausführe, aber im Headless-Modus erhalte ich „Element nicht interaktiv“.
Ich erhalte eine Fehlermeldung bei email_box.send_keys(”)
Und ich habe die Fenstergröße eingestellt, es funktioniert immer noch nicht
Code:
from selenium.webdriver import Chrome
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
import time
options = Options()
options.add_argument('headless')
options.add_argument('window-size=1366x768')
with Chrome(options=options) as driver:
driver.get('https://accounts.google.com/login')
WebDriverWait(driver, 20).until(lambda d: d.find_element(By.TAG_NAME, 'input'))
time.sleep(2)
email_box = driver.find_element(By.TAG_NAME, 'input')
time.sleep(2)
email_box.send_keys('[email protected]')
Lösung
Gehen Sie wie folgt vor, um Google Mail an das Eingabe-Tag zu senden.
from selenium.webdriver.support import expected_conditions as EC
email_box=WebDriverWait(driver, 20).until(EC.presence_of_element_located((By.XPATH, "//input[@type='email']")))
driver.implicitly_wait(2)
email_box.send_keys('[email protected]')
Beantwortet von – Arundeep Chohan
Antwort geprüft von – Terry (FixError Volunteer)