我正在尝试使用硒中的Testng编写一段代码,问题是当我尝试单击链接时,代码变得无响应并给出错误-超时从渲染器接收消息
尝试使用driver.get(“ https://infostore.saiglobal.com/”)代替driver.findElement(By.linkText(“ Infostore”))。click();仍然不响应-无法定向到网页-https://infostore.saiglobal.com/
@Test
public void testSai() throws Exception {
driver.get("https://www.saiglobal.com/"); //open homepage
driver.findElement(By.id("CybotCookiebotDialogBodyButtonAccept")).click(); //accept cookie
driver.findElement(By.cssSelector("#sai-header > div > div.main-nav > div.store-box > div")).click(); //click on Login to open list
sleep(2);
driver.findElement(By.linkText("Infostore")).click(); //click on infostore to be redirected to https://infostore.saiglobal.com/
System.out.println(driver.getCurrentUrl());
答案 0 :(得分:1)
是的,我已经检查了此问题,如果您希望得到此解决方案,则可以使用一种解决方法。尝试以下代码。
href
属性值。driver.navigate()。to(URL);
public static void main(String [] args){
System.setProperty("webdriver.chrome.driver", System.getProperty("user.dir") + File.separator + "\\Executables\\Chromedriver.exe");
WebDriver driver = new ChromeDriver();
WebDriverWait wait = new WebDriverWait(driver, 5);
Actions actions = new Actions(driver);
driver.get("https://www.saiglobal.com/");
driver.findElement(By.id("CybotCookiebotDialogBodyButtonAccept")).click();
WebElement element=wait.until(ExpectedConditions.elementToBeClickable(By.xpath("//div[@class='desktop-login']")));
actions.moveToElement(element).build().perform();
WebElement element1=wait.until(ExpectedConditions.elementToBeClickable(By.xpath("//div[@class='desktop-login']/ul/li/a[contains(text(),'Infostore')]")));
String str1=element1.getAttribute("href");
driver.manage().deleteAllCookies();
driver.navigate().to(str1);
System.out.println(driver.getCurrentUrl());
}
答案 1 :(得分:0)
这似乎是Selenium的一个错误,开发人员已经处理了一年多。他们从来没有真正给出导致它或如何解决它的具体答案。
第一个调用端口是确保您的浏览器和Selenium兼容。尝试打开一个您知道可以使用的其他URL,如果错误仍然存在,则可能是硒和Web浏览器的兼容性存在错误。如果有效,则说明您的网站有问题。
作为参考,我使用Python Selenium打开了您的网站,并且在加载或与元素交互方面没有任何问题。因此,该错误是所用软件的本地错误。
该问题也可能是由睡眠引起的(不知道为什么),因此请尝试消除任何睡眠,看看是否可以解决此问题。