簡體   English   中英

Selenium Webdriver:cssselector

[英]Selenium Webdriver: cssselector

我試圖來為他們做登入 在其中點擊我已成功完成的'SignIn'。 現在,當嘗試使用Xpath鍵入用戶名/密碼時,它會顯示異常

線程“main”中的異常org.openqa.selenium.ElementNotVisibleException:元素不可見

代碼是: -

driver.findElement(By.xpath(".//*[@id='load_form']/fieldset[1]/input")).sendKeys("test123");
driver.findElement(By.xpath(".//*[@id='load_form']/fieldset[2]/input")).sendKeys("test123");

我知道這個XpathSignUp形式中使用的相同,那么找到這兩個字段的其他方法是什么? 我們如何使用cssselector來使用它? 我在這里先向您的幫助表示感謝。

在找到相對xpath時向上一級

//div[@id='login']/form[@id='load_form']//input[@name='username']
//div[@id='login']/form[@id='load_form']//input[@name='password']

嘗試這個

 //For Username
        driver.findElement(By.xpath("(//input[@name='username'])[2]")).sendKeys("username test");
//or
        driver.findElement(By.cssSelector("#login > #load_form > fieldset > input[name='usernam']")).click();   

//For password
        driver.findElement(By.xpath("(//input[@name='password'])[2]")).sendKeys("password test");
//or
        driver.findElement(By.cssSelector("#login > #load_form > fieldset > input[name='password']")).click();

以上代碼對我有用。

提供的xpath基本上有兩個元素,它與第一個找不到的元素一起使用,作為你的異常說,你應該嘗試使用cssSelector如下: -

driver.findElement(By.cssSelector("div#login input[name = 'username']")).sendKeys("test123");
driver.findElement(By.cssSelector("div#login input[name = 'password']")).sendKeys("test123");

注意 : - 要了解cssSelector按照此URL操作 ,對於xPath遵循此URL

我建議您在使用定位器執行selenium之前確保使用定位器是正確的,並通過按f12瀏覽器控制台上返回單個或多個元素。 對於驗證xPath您應該使用$x("your xpath expression") ,對於cssSelector您應該使用document.querySelector("your css selector expression")

希望它會幫助你.. :)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM