所以
我刚接触硒。
我有一个基本的应用程序,已经使用了好几次了,我感到很舒服,可以尝试通过一个专业网站找到自己的路,因为我可能要在几个月后做一些类似的事情。
我的问题是我选择通过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();
}
}