【问题标题】:Selenium WebDriver -- Unable to click on hyperlink, click goes to the other elementSelenium WebDriver -- 无法点击超链接,点击转到另一个元素
【发布时间】:2018-05-01 23:00:11
【问题描述】:

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

  1. 尝试使用网站图标的 CSS 定位器 [它在较低的环境中工作,因为它没有最近使用的页面] 参考。
  2. 尝试使用 XPath 定位器[包括自定义 XPath],仍然单击转到另一个项目。
  3. 尝试过名称定位器。
  4. 使用 Actions 类进行点击。
  5. 通过使用睡眠和 WebDriver 等待允许页面完全加载。
  6. 定位元素并发送回车键,仍然点击最近使用的页面。
  7. 尝试使用坐标单击它。

想到了 ChromeDriver 的问题,但问题在 Firefox 中也仍然存在。

在 XPath 下试过:

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

//div[2]/div/a/div

代码sn-p:

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

【问题讨论】:

  • 能否将问题区域中的 HTML & 代码块 & 错误堆栈跟踪更新为文本以便更好地分析?
  • 请把你目前尝试过的也写上
  • 你可以尝试使用这个 xpath //a[@title='Websites']/div/div[@class='title'] 并让我知道结果
  • @NarendraR - 感谢您的回复,但解决方案无法正常工作。它点击最近使用的页面。

标签: selenium selenium-webdriver


【解决方案1】:

希望对您有所帮助:

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

【讨论】:

  • 它找到了元素,但点击去了其他地方。
【解决方案2】:

尝试以下方法:

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

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

【讨论】:

  • 它找到了元素,但点击去了其他地方。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-03-19
  • 2013-02-06
  • 2016-01-18
  • 2022-12-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多