Selenium:尝试在没有id的情况下输入活动元素中的文本但是失败了

时间:2017-12-12 10:20:17

标签: python selenium

尝试在活动元素中输入文本但失败了.. 有人可以帮忙吗?代码如下。元素被评论。 使用python和selenium以及web驱动程序。

使用时间在代码之间断开以等待加载 键盘快捷键用于输入元素,因为gmail的名称不可用。

from selenium import webdriver
import time
from selenium.webdriver.common.keys import Keys

u = input("Enter username: ")

p = input("Enter password: ")

a = input("Enter email address(multiple separated by comma: ")

s = input("Enter subject: ")

t = input("Enter text: ")


browser = webdriver.Firefox()
browser.get('https://accounts.google.com/ServiceLogin/identifier?service=mail&passive=true&rm=false&continue=https%3A%2F%2Fmail.google.com%2Fmail%2F&ss=1&scc=1&ltmpl=default&ltmplcache=2&emr=1&osid=1&flowName=GlifWebSignIn&flowEntry=AddSession')

userid = browser.find_element_by_name("identifier")
userid.send_keys(u)
userid.send_keys(u'\ue007')

time.sleep(2)

passw = browser.find_element_by_name("password")
passw.send_keys(p)
passw.send_keys(u'\ue007')

time.sleep(10)

browser.get('https://mail.google.com/mail/u/0/#inbox?compose=new')

time.sleep(5)

to = browser.find_element_by_name("to")
to.send_keys(a)
fr = browser.find_element_by_name("subjectbox")
fr.send_keys(s)
fr.send_keys(Keys.TAB)

x = browser.switch_to.active_element
time.sleep(1)
x.send_keys(t) #THIS IS NOT WORKING

1 个答案:

答案 0 :(得分:2)

使用browser.switch_to.active_elementx变为dict,其“值”键包含您要发送密钥的Selenium网络元素。我不知道为什么会在Firefox上发生这种情况,在Chrome上你的脚本运行正常。

无论如何,用它来解决你的问题:
x['value'].send_keys(t)