[英]How to use send_keys in selenium webdriver in python?
[英]Selenium WebDriver Python: How to stop 'send_keys' from hitting return after sending a string
我正在尝试使用Twitter自动登录网站,并使用Selenium WebDriver中的elem.send_keys("username")
方法输入Twitter登录信息。
该方法似乎在发送字符串后也“命中”了输入,这是一个问题,因为它会导致在我输入密码之前提交登录表单,并且页面会刷新,删除已经输入的用户名,从而阻止登录。
我如何发送密钥而不随后又输入? 谢谢。
Python:3.4.1,Selenium:2.42.1,操作系统:Mac OSX 10.9.4
编辑:
这是我在浏览器中编写所有与元素的交互的方式,并包装在try / except中,以防止StaleElementReference错误:
found = False
while not found:
try:
enterPassword = driver.find_element_by_id("password")
enterPassword.send_keys(twPassword)
found = True
except:
pass
这可能是问题吗?
您能测试一下这是否提交了吗? (不是我的)
from selenium import webdriver as driver
browser = driver.Firefox()
browser.get("http://www.google.com")
print browser.find_element_by_name("q").send_keys('Searchstring')
从侧面看:等待元素出现需要进行明确的等待。
from selenium.webdriver.support import expected_conditions as EC
wait = WebDriverWait(driver, 10)
element = wait.until(EC.presence_of_element_located((By.ID,'someid')))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.