无法使用 Selenium 将文本发送到 Microsoft 登录页面上的电子邮件字段

蟹状星云

我试图找出一种方法来自动登录/在特定网页上的给定文本字段中输入文本。我之前已经不这样做了,但是这个特定的页面还没有响应我抛出的任何内容。

默认页面加载已经在必要的文本框上自动聚焦。我目前正在使用 Python 编写 Selenium 代码。我当前的脚本包括导致当前问题所在页面的先前进程。此外,我一直在 Google-Chrome 浏览器中运行此代码,但用户代理选择为 Edge - Mobile(但这在这里可能无关紧要)。

有问题的网站是此链接上的 Microsoft 登录名

相关文本框的 CSS/HTML:

<input type="email" name="loginfmt" id="i0116" maxlength="113" lang="en" class="form-control ltr_override" aria-describedby="usernameError loginHeader loginDescription" aria-required="true" data-bind="textInput: usernameTextbox.value,
                    hasFocusEx: usernameTextbox.focused,
                    placeholder: $placeholderText,
                    ariaLabel: tenantBranding.UserIdLabel || str['CT_PWD_STR_Username_AriaLabel'],
                    css: { 'has-error': usernameTextbox.error },
                    attr: inputAttributes" placeholder="Email, phone, or Skype" aria-label="Enter your email, phone, or Skype.">

在给定页面加载后,我当前正在测试的代码(基本上是同一想法的三个不同迭代):

element = driver.find_element_by_id("i0116")
element.click()
element.clear() 
element.send_keys("[email protected]")
element.send_keys(Keys.RETURN)

time.sleep(1)

element = driver.find_element_by_name("loginfmt") 
element.click()
element.clear()
element.send_keys("[email protected]")
element.send_keys(Keys.RETURN)

time.sleep(1)

element = driver.find_element_by_css_selector("input.email")
element.click() 
element.clear()
element.send_keys("[email protected]") 
element.send_keys(Keys.RETURN)

不幸的是,尝试通过输入 ID、类或名称选择文本框似乎不起作用。值得注意的是,我为文本框引用的页面 CSS 包含一个元素“输入”之前 - 我不确定这是否会影响我当前的代码。我相当确定要么是 send_keys 不起作用,要么是元素本身的选择。

更令人沮丧的是页面的默认焦点在文本框上 - 所以我什至不需要选择元素,我只需要能够输入文本并提交/输入。

我也尝试将其定位为 iframe,但这似乎也无济于事。

有任何想法吗?任何和所有帮助将不胜感激。我只是想找到一种在登录框中输入文本的方法。

德班扬B

要将EmailID输入带有占位符文本作为电子邮件、电话或 Skype的字段,您可以使用以下代码块:

from selenium import webdriver
from selenium.webdriver.chrome.options import Options

options = Options()
options.add_argument("start-maximized")
options.add_argument("disable-infobars")
options.add_argument("--disable-extensions")
driver = webdriver.Chrome(chrome_options=options, executable_path=r'C:\Utility\BrowserDrivers\chromedriver.exe')
driver.get('https://login.live.com/login.srf')
print("Page Title is : %s" %driver.title)
element = driver.find_element_by_xpath("//input[@class='form-control ltr_override' and @name='loginfmt']")
element.click()
element.clear()
element.send_keys("[email protected]")

控制台输出:

Page Title is : Sign in to your Microsoft account

快照:

微软

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何使用Selenium和Python将文本发送到电子邮件字段

selenium.common.exceptions.NoSuchElementException:消息:无法定位元素错误,使用 Selenium Python 将文本发送到 Twitter 中的电子邮件字段

无法使用Selenium WebDriver在“撰写电子邮件”页面上的“收件人(电子邮件ID)”字段内发送密钥

如何使用Selenium和Java将文本发送到Angular页面中的amount字段

如何在 Disneyworld 登录页面中找到电子邮件地址字段以使用 Selenium (Python) 发送文本

如何在 Disneyworld 登录页面中找到电子邮件地址字段以使用 Selenium (Python) 发送文本

IEDriverServer使用Selenium将文本发送到搜索字段的速度非常慢

如何使用Selenium和Python将DELETE击键发送到文本字段?

Selenium WebDriver无法将文本发送到InputBox

使用Selenium IDE将KEY发送到页面

将 Selenium 报告发送到电子邮件

使用ChromeDriver和Selenium设置max属性时,无法使用send_keys将日期作为文本发送到datepicker字段

如何使用HTML文本将图像作为绝对位置发送到电子邮件

如何使用Selenium和xpath在Google登录页面中选择电子邮件或电话字段?

如何使用Selenium和Python将文本发送到https://mail.protonmail.com/create/new?language=zh-CN的恢复邮件字段

如何使用Selenium和Python将AppleID发送到登录字段

Python无法将电子邮件发送到Gmail

selenium.common.exceptions.TimeoutException:使用Selenium Python将文本发送到iframe中的用户名字段的消息错误

使用Robot类和Selenium WebDriver将大写文本发送到文本框

在Python中使用Selenium将文本发送到文本框

ElementNotInteractableException:消息:元素不是元素不可交互错误,使用Selenium和Python将文本发送到Email字段

如何使用Selenium Python将文本发送到<!DOCTYPE html>中的iframe?

在 python 中使用 selenium 将密钥发送到文本区域不起作用

使用 Selenium 和 Python 将 html 发送到富文本框的问题

如何通过Selenium Webdriver将文本发送到搜索字段?

如何通过Selenium和Python将文本发送到搜索字段

无法使用Microsoft.Graph发送电子邮件

无法将电子邮件发送到大学电子邮件地址

无法使用Outlook将电子邮件发送到T-mobile地址