首页 > 解决方案 > 如何将文本发送到 https://mail.protonmail.com 注册页面中的用户名字段?

问题描述

我在运行它时制作了质子邮件脚本,它工作正常,但没有输入用户名。此脚本未键入任何文本。请帮我!!

我在倒数第二行有错误

这是我的错误:

NoSuchElementException:消息:没有这样的元素:无法找到元素:{“method”:“css selector”,“selector”:“.input”}

我对 selenium 网络驱动程序有疑问

    from selenium import webdriver
    import time

    url = 'https://protonmail.com/'

    driver = webdriver.Chrome()

    driver.get(url)

    driver.find_element_by_xpath('//*[@class="btn btn-default btn-short"]').click()

    time.sleep(10)

    driver.find_element_by_class_name('panel-heading').click()

    time.sleep(10)

    driver.find_element_by_id('freePlan').click()

    time.sleep(10)

    driver.find_element_by_id('username').send_keys(Hamzalachistudios)

    time.sleep(10)

它做得很好,但它没有输入任何文本。错误名称:NoSuchElementException

标签: pythonseleniumxpathiframewebdriverwait

解决方案


你的元素在里面,所以在or之前的iframe第一步,我们需要clicksendKeysswitchiframe

<input placeholder="Choose username" required="" 
name="username" messages="[object Object]" 
iframename="top" pattern=".{1,40}" id="username" class="input">

driver.switch_to.frame("top") //switching the frame by name
driver.find_element_by_id('username').send_keys(Hamzalachistudios)

在此处输入图像描述


推荐阅读