我很难让WebDriver输入PayPal网站的用户名框。我已经尝试过xpath,id,css但是必须有一些我在这里缺少的东西,因为它应该这么简单。文本框是代码最底部的文本框,其中input =“email”
有人可以在Paypal的网站上试试,然后就此向我上学吗?如果我只使用Firebug / Firepath给出的xpath代码,或者我使用WebElement username = driver.findElement(By.id(“email”)),我找不到元素。
答案 0 :(得分:1)
所以我更多地看了一下HTML并意识到里面有一个表单....我能够使用这段代码:
String URL = ("https://www.paypal.com/signin/?country.x=US&locale.x=en_US");
driver.get(URL);
WebElement form = driver.findElement(By.cssSelector(".main form"));
WebElement username = form.findElement(By.id("email"));
username.sendKeys("test");
答案 1 :(得分:1)
遵循C#代码对我来说很好。使用Java尝试相同,应该工作。
[Test]
public void TestMethod()
{
IWebElement username = driver.FindElement(By.CssSelector("form[name='login'] input#email"));
username.SendKeys("anytext");
}
答案 2 :(得分:1)
试试这个:
WebElement email = driver.findElement(By.cssSelector("#email"));
email.click();
email.clear();
email.sendKeys("abc@abc.com");
它在我的机器上工作正常。
答案 3 :(得分:1)
在使用以下C#代码插入用户名和密码之前,只需切换到iframe就可以做到这一点:
driver.SwitchTo().Frame(driver.FindElement(By.TagName("iframe")));
var emailAddressLogin = driver.FindElement(By.Id("email"));
emailAddressLogin.SendKeys("EnterEmailAddress");
var password = driver.FindElement(By.Id("password"));
password.SendKeys("EnterPassword");
这是使用PayPal沙箱环境。