无论如何,在Selenium Webdriver中阻止重定向?

时间:2018-09-28 08:17:04

标签: selenium selenium-webdriver

所以

我刚接触硒。

我有一个基本的应用程序,已经使用了好几次了,我感到很舒服,可以尝试通过一个专业网站找到自己的路,因为我可能要在几个月后做一些类似的事情。

我的问题是我选择通过Spotify测试事物,并且页面选择将我https://open.spotify.com/browse从重定向到https://open.spotify.com/browse/featured,这是一半时间完全不相关的页面(每个页面都有不同的ID)零件...)。

目前,我正在https://open.spotify.com/browse上打开网络驱动程序,并重新请求该网站,以防万一。它似乎起作用,但问题再次出现1/2次,因此可能会在几次尝试中再次困扰我。

有什么方法可以阻止来自硒请求的重定向?

我正在使用无条件等待驱动程序来定位该项目,我考虑过为重定向的网站上的元素添加另一个无条件等待驱动程序,但是如果加载了任一页面,则这句话中的一个将超时并给我一个错误

这是我的代码:

package test;

import java.io.IOException;

import org.openqa.selenium.By;

import org.openqa.selenium.WebDriver;

import org.openqa.selenium.WebElement;

import org.openqa.selenium.chrome.ChromeDriver;

import org.openqa.selenium.chrome.ChromeOptions;

import org.openqa.selenium.interactions.Actions;

import org.openqa.selenium.support.ui.ExpectedConditions;

import org.openqa.selenium.support.ui.WebDriverWait;


public class SpotifyTest {
    public static void main(String[] args) throws InterruptedException, IOException {
        System.setProperty("webdriver.chrome.driver","C:\\Users\\vrios\\Downloads\\chromedriver_win32\\chromedriver.exe");
        System.setProperty("webdriver.chrome.driver","C:\\Users\\vrios\\Downloads\\chromedriver_win32\\chromedriver.exe");
        ChromeOptions options = new ChromeOptions();
        options.addArguments("--start-maximized");
        WebDriver driver = new ChromeDriver(options);
        driver.get("https://open.spotify.com/browse/");
        driver.get("https://open.spotify.com/browse");
        WebDriverWait wait = new WebDriverWait(driver, 40);
        //only appears in the original website, not in featured, trying to access it this will timeout if redirected
        wait.until(ExpectedConditions.elementToBeClickable(By.id("has-account")));
        WebElement haveAccount= driver.findElement(By.id("has-account"));
        driver.quit();
}

}

0 个答案:

没有答案