【问题标题】:Issue with focus in ie browser using selenium webdriver code使用 selenium webdriver 代码在 ie 浏览器中的焦点问题
【发布时间】:2016-01-12 01:56:46
【问题描述】:

首先,我需要将鼠标悬停,然后它会打开一个下拉菜单,然后我将点击该链接。它在 Firefox、chrome 中工作正常,问题在 ie 中。

这里是代码

WebElement element=driver.findElement(By.xpath("/html/body/div/span/form[2]/div[1]/div[1]/div[3]/div[2]/ul/span[3]/li/a"));

Actions act=new Actions(driver);
act.moveToElement(element).build().perform();


WebElement element2=driver.findElement(By.xpath("/html/body/div/span/form[2]/div[1]/div[1]/div[3]/div[2]/ul/span[3]/li/ul/span[1]/li/a"));
Actions act1=new Actions(driver);
    //act1.click(element2);
act1.moveToElement(element2).click(element2).build().perform();

当我们使用这段代码时,它甚至可以在 IE 浏览器中工作

caps.setCapability("requireWindowFocus", true);

如果我们使用requiredwindow,即使在 IE 浏览器中也能正常工作,因此定位器不会出现问题

但不鼓励在我的项目中使用上述requiredwindowfoucs 代码。 有没有其他办法呢。

当我们不使用requiredwindowfocus 时,IE 浏览器中的问题是点击其他链接,所以我假设问题出在焦点上。

请在不使用requiredfoucswindow的情况下帮助我解决这个问题

【问题讨论】:

    标签: java python selenium selenium-webdriver automation


    【解决方案1】:

    我的项目中有类似的问题。在 IE 中,单击下拉值不起作用。我对此有一个非常奇怪和意想不到的解决方案。在执行操作之前找到元素。我假设这是必需的,因为当您移动到 ​​element1 并尝试查找元素时,IE Xpath 处理器会弄乱焦点。

    WebElement element=driver.findElement(By.xpath("/html/body/div/span/form[2]/div[1]/div[1]/div[3]/div[2]/ul/span[3]/li/a"));
    
    WebElement element2=driver.findElement(By.xpath("/html/body/div/span/form[2]/div[1]/div[1]/div[3]/div[2]/ul/span[3]/li/ul/span[1]/li/a"));
    
    Actions act=new Actions(driver);
    act.moveToElement(element).build().perform();
    act.moveToElement(element2).click(element2).build().perform();
    

    请试试这个,让我知道这是否也适合你!

    另外,请考虑使用相对 XPath,而不是您使用的绝对 XPath。第二个动作不是必需的。一个动作就可以解决问题。

    根据用户评论编辑

    移动到 element1 正在工作,列表正在显示。所以我假设 element2 是可见的,所以我们可以直接点击它而不使用Actions

    Actions act=new Actions(driver);
    act.moveToElement(element).build().perform();
    element2.click();
    

    【讨论】:

    • 它正在朝着那个方向移动,但无法点击它。我的意思是链接
    • 能不能先移到element1再移到element2?
    • 它向第一个 elemt1 移动,然后它打开列表我必须单击列表中的一个元素。它不会发生
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-11-08
    • 1970-01-01
    • 1970-01-01
    • 2015-06-26
    • 1970-01-01
    • 2016-01-04
    相关资源
    最近更新 更多