Selenium WebDriver - 无法单击超链接,单击转到其他元素

时间:2017-11-18 05:50:38

标签: selenium selenium-webdriver

我无法点击网站超链接,点击进入最近使用的页面。

  1. 尝试使用网站图标的CSS定位器[在较低的环境中工作,因为它没有最近使用的页面]参考。
  2. 尝试使用XPath定位器[包括自定义XPath],然后点击转到另一个项目。
  3. 尝试过名字定位器。
  4. 用于点击的动作类。
  5. 允许使用sleep和WebDriver等完全加载页面。
  6. 找到元素并发送Enter键,单击最近使用的页面。
  7. 尝试使用坐标点击它。
  8. 考虑到ChromeDriver问题,但Firefox中的问题仍然存在。

    在XPath下面试过:

    html/body/div/div[2]/div[2]/div[1]/a/div 
    
    //div[2]/div/a/div
    

    代码段:

    WebElement elementToClick = driver.findElement(By.cssSelector(".icon.siteadmin"));
    elementToClick.click();
    
    WebElement elementToClick = driver.findElement(By.cssSelector(".icon.siteadmin"));
    (JavascriptExecutor)driver).executeScript("window.scrollTo(0,"+elementToClick.getLocation().x+")");
    elementToClick.click();
    
    WebElement elementToClick = driver.findElement(By.cssSelector(".icon.siteadmin"));
    Actions actions = new Actions(driver);
    actions.moveToElement(elementToClick);
    actions.click().perform();  
    
    Actions builder = new Actions(driver);   
    builder.moveToElement(elementToClick, 40, 207).click().build().perform();
    

    结果:点击“最近使用的页面”,它会生成最近使用过的网页而不是网站的结果。

    UI Reference

    Development Code Snippet

2 个答案:

答案 0 :(得分:0)

尝试以下方法:

driver.findElement(By.XPath(“//a[contains(@title, ‘Websites’)]”)).click()

如果这不起作用,请将上述XPath与上述元素路径之一的移动结合使用,然后使用click。

答案 1 :(得分:0)

希望它能帮助你:

.//div[@id='box_2']/a/div[@class='icon siteadmin']/div[1]