Java:Selenium将文本发送到错误的字段

时间:2015-09-03 18:59:28

标签: java css selenium xpath selenium-webdriver

我正试图在上传的eBay预付款中设置“立即购买”价格。

网址:http://cgi5.ebay.com/ws/eBayISAPI.dll?LikeThisListing&cpg=20&aid=1&from=wn&sid=475543545921&itemid=331639399961&cat1=43537

我正在使用:

    String BINCSS = "#binPrice";
    String BINXPath = ".//*[@id='binPrice']";

我正在尝试将“立即购买”价格设置为“固定价格”而不是“拍卖”价格。为此,我首先点击“固定价格”标签,然后使用之前的XPath / CSS发送价格。

这有效 - 但是它将它发送到错误的字段 - 换句话说,它将价格发送到“拍卖”而不是“固定价格”标签中的“立即购买”字段。

如何将其发送到固定价格“立即购买”文本框?

由于

2 个答案:

答案 0 :(得分:0)

定位器地址在“固定价格”选项卡和“拍卖”选项卡中相同。 这就是为什么两地都会显示买入价格的原因。

两个标签中Buy It价格的相对xpath是.// * [@ id =' binPrice'],所以请使用绝对xpath导航到固定价格标签 - >立即购买价格。

答案 1 :(得分:0)

以下是解决方案,我通过链接文本找到了“”固定价格“标签并执行了点击操作,然后在”立即购买“中传递值。

driver.findElement(By.xpath(".//*[@id='userid']")).sendKeys("enter email");
        driver.findElement(By.xpath(".//*[@id='pass']")).sendKeys("enter password");
        driver.findElement(By.xpath(".//*[@id='sgnBt']")).click();
        driver.manage().window().maximize();
        JavascriptExecutor jse = (JavascriptExecutor)driver;
        jse.executeScript("window.scrollBy(0,1650)", "");
        driver.findElement(By.linkText("Fixed price")).click();
        Thread.sleep(5000);
        driver.findElement(By.xpath(".//*@id='binPrice']")).sendKeys("500");

希望它也适合你!