gpt4 book ai didi

java - 无法使用带有 Java 和 chrome 的 WebDriver Selenium 3 将 key 发送到 eBay 用户名字段

转载 作者:太空宇宙 更新时间:2023-11-04 11:21:21 25 4
gpt4 key购买 nike

我无法将Keys 文本发送到 eBay 上的用户名和密码字段中。

这是代码:

    WebDriver driver = null;
System.setProperty("webdriver.chrome.driver", "/usr/local/bin/chromedriver");
driver = new ChromeDriver();
driver.get("http://www.ebay.co.uk");

WebElement myEbay = driver.findElement(By.linkText("My eBay"));
myEbay.click();

WebElement signInForm = driver.findElement(By.id("SignInForm"));

if (signInForm.isDisplayed())
System.out.println("Sign in form is displayed");

WebElement username;

username = driver.findElement(By.cssSelector("input[placeholder=\"Email or username\"]"));

它设法找到 My Ebay 链接,并验证登录表单是否存在,但用户名和密码字段 ID 在每次刷新页面后都会更改。

用户名 cssSelector 似乎是问题所在?

编辑:我已经成功地使用了 XPath,但这次练习是为了让 cssSelector 工作,因为理论上没有理由不这样做!

最佳答案

我已经用 xpath 替换了 cssSelector 定位器,并且它在绝对 xpath 下工作正常。下面是修改后的代码:

 WebDriver driver = null;
System.setProperty("webdriver.chrome.driver", "C:\\Users\\vikas\\workspaceNeon\\Eclipse Soft\\chromedriver.exe");
driver = new ChromeDriver();
driver.get("http://www.ebay.co.uk");

WebElement myEbay = driver.findElement(By.linkText("My eBay"));
myEbay.click();

WebElement signInForm = driver.findElement(By.id("SignInForm"));

if (signInForm.isDisplayed())
System.out.println("Sign in form is displayed");

driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);

WebElement username = driver.findElement(By.xpath("html/body/div[4]/div/div/div/div[5]/div/div[1]/div/div[1]/div[1]/div[2]/div/span/form/div[1]/div[5]/div/div[4]/span[2]/input"));

username.sendKeys("Vikas");

关于java - 无法使用带有 Java 和 chrome 的 WebDriver Selenium 3 将 key 发送到 eBay 用户名字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44865933/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com