Селен — Нажатие кнопки Отправить не приводит к переходу на следующую страницу

#java #selenium

Вопрос:

 import java.util.concurrent.TimeUnit;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;

public class voot {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        
        //WebDriver driver = new SafariDriver();
        System.setProperty("webdriver.chrome.driver", "/Users/dkurugod/Desktop/selenium_tutorials/chromedriver");
        WebDriver driver = new ChromeDriver();
        
        String URL = "https://voting.voot.com/vote/";
        driver.get(URL);
        
        String title = driver.getTitle();
        System.out.println(title);
        
        driver.manage().timeouts().implicitlyWait(10,TimeUnit.SECONDS) ;
        
        WebElement name = driver.findElement(By.xpath("//img[contains(@alt,'Harry')]"));
        
        name.click();
        
        driver.manage().timeouts().implicitlyWait(10,TimeUnit.SECONDS) ;
        
        WebElement submit = driver.findElement(By.xpath("//button[normalize-space()='Submit']"));
        
        submit.click();
    }}

<button class="jss190"> Submit</button>
 

После нажатия на кнопку Отправить он не переходит на следующую страницу. Может ли кто-нибудь, пожалуйста, подсказать мне, как поступить с этим. Я все еще новичок в Селене. Спасибо

Комментарии:

1. добавьте html-код или ссылку на сайт

2. Добавление соответствующего HTML-кода к вопросу является обязательным требованием. Добавление ссылки на сайт необязательно, но полезно. Ссылка на сайт находится в вопросе, но она не работает для меня… Я получаю сообщение об ошибке при переходе на сайт.

3. Была ли проблема решена?

Ответ №1:

1 Вам не нужно использовать это дважды:

  driver.manage().timeouts().implicitlyWait(10,TimeUnit.SECONDS);
 

2 Для кнопки отправить попробуйте использовать следующий xpath локатор:

 //button[contains(@class,'jss190')]
 

Или это:

 //button[contains(text(),'Submit')]
 

Второй локатор будет работать только тогда, когда есть только одна кнопка с типом submit .

Комментарии:

1. Примите ответ, если это помогло