如何执行多个操作并通过 selenium-webdriver 在 URL http://www.spicejet.com

2023-07-13Java开发问题
4

本文介绍了如何执行多个操作并通过 selenium-webdriver 在 URL http://www.spicejet.com/上单击带有文本的链接作为会员登录的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

问题描述

我尝试了下面的代码,但它不是鼠标悬停并点击会员登录"

I tried the below code but it is not mouse hovering and clicking on 'Member login'

WebElement lgn = driver.findElement(By.id("ctl00_HyperLinkLogin"));
WebElement ssm = driver.findElement(By.xpath("//a[contains(text(), 'SpiceCash/SpiceClub Members')]"));
WebElement cgm = driver.findElement(By.xpath("//a[contains(text(),'Member Login')]"));
Actions a1 = new Actions(driver);
a1.moveToElement(lgn).moveToElement(ssm).moveToElement(cgm).click().build().perform();

推荐答案

要在元素上调用 click() 文本为 会员登录,首先你必须 鼠标悬停在元素上,文本为 LOGIN/SIGNUP,然后鼠标悬停在元素上,文本为 SpiceCash/SpiceClub Members 然后诱导 WebDriverWait 使文本为 Member Login 的元素可点击,您可以使用以下解决方案:

To invoke click() on the element with text as Member login, first you have to Mouse Hover over the element with text as LOGIN / SIGNUP, then Mouse Hover over the element with text as SpiceCash/SpiceClub Members then induce WebDriverWait for the element with text as Member Login to be clickable and you can use the following solution:

  • 代码块:

  • Code Block:

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.interactions.Actions;
import org.openqa.selenium.support.ui.ExpectedConditions;
import org.openqa.selenium.support.ui.WebDriverWait;

public class Spicejet_member_login {

    public static void main(String[] args) {

        System.setProperty("webdriver.gecko.driver", "C:\Utility\BrowserDrivers\geckodriver.exe");
        WebDriver driver = new FirefoxDriver();
        driver.get("http://www.spicejet.com/");
        new Actions(driver).moveToElement(new WebDriverWait(driver, 5).until(ExpectedConditions.visibilityOfElementLocated(By.cssSelector("a.link#ctl00_HyperLinkLogin")))).build().perform();
        new Actions(driver).moveToElement(new WebDriverWait(driver, 5).until(ExpectedConditions.visibilityOfElementLocated(By.xpath("//li[@class="hide-mobile"]/a[contains(.,'SpiceCash/SpiceClub Members')]")))).build().perform();
        new WebDriverWait(driver, 7).until(ExpectedConditions.elementToBeClickable(By.xpath("//li[@class="hide-mobile"]//ul/li/a[@href='https://book.spicejet.com/Login.aspx' and contains(.,'Member Login')]"))).click();
    }
}

  • 浏览器快照:

  • Browser Snapshot:

    这篇关于如何执行多个操作并通过 selenium-webdriver 在 URL http://www.spicejet.com/上单击带有文本的链接作为会员登录的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

    The End

  • 相关推荐

    如何使用 JAVA 向 COM PORT 发送数据?
    How to send data to COM PORT using JAVA?(如何使用 JAVA 向 COM PORT 发送数据?)...
    2024-08-25 Java开发问题
    21

    如何使报表页面方向更改为“rtl"?
    How to make a report page direction to change to quot;rtlquot;?(如何使报表页面方向更改为“rtl?)...
    2024-08-25 Java开发问题
    19

    在 Eclipse 项目中使用西里尔文 .properties 文件
    Use cyrillic .properties file in eclipse project(在 Eclipse 项目中使用西里尔文 .properties 文件)...
    2024-08-25 Java开发问题
    18

    有没有办法在 Java 中检测 RTL 语言?
    Is there any way to detect an RTL language in Java?(有没有办法在 Java 中检测 RTL 语言?)...
    2024-08-25 Java开发问题
    11

    如何在 Java 中从 DB 加载资源包消息?
    How to load resource bundle messages from DB in Java?(如何在 Java 中从 DB 加载资源包消息?)...
    2024-08-25 Java开发问题
    13

    如何更改 Java 中的默认语言环境设置以使其保持一致?
    How do I change the default locale settings in Java to make them consistent?(如何更改 Java 中的默认语言环境设置以使其保持一致?)...
    2024-08-25 Java开发问题
    13