标签: selenium

如何在webdriver的文本框中输入数值

如何在Selenium webdriver的文本框中输入数值.代码如下: sendKeys()方法不适用于数值,是否有整数的替代命令.

@FindBy(id="toolbox-options-key")
private WebElement BillingRateTextBox;

    public void createNewBill(String billingRate)
    {
        BillingRateTextBox.sendKeys(10);
    }
Run Code Online (Sandbox Code Playgroud)

selenium selenium-webdriver

-1
推荐指数
1
解决办法
2万
查看次数

如何检查webtable中的webelements是使用selenium webdriver按字母顺序排序的?

我们的应用程序包含Web元素表.我的目的是检查内容表是否按字母顺序排列.

WebDriver d=new FirefoxDriver();
d.get("http://www.javatpoint.com/wrapper-class-in-java");

WebElement table=d.findElement(By.xpath(".//*[@id='city']/table/tbody"));
List<WebElement> lst=table.findElements(By.tagName("tr"));
System.out.println(lst);

List ls=new ArrayList<String>();
for(int i=0;i<=6;i++)
{
    ls=lst.addAll(get(i).getText())
}
Run Code Online (Sandbox Code Playgroud)

我的目标是将字符串类型webelement存储在一个列表中,并创建另一个列表,该列表在最后比较两个列表中是排序类型.请帮忙.

java selenium selenium-webdriver

-1
推荐指数
1
解决办法
2万
查看次数

获取错误:找到参数'--webdriver-port',这是不期望的,或者在此上下文中无效

当我运行我的selenium代码时,我收到错误"错误:找到参数'--webdriver-port'这是不期望的,或者在此上下文中无效"

我正在使用Firefox 48.0使用gecko驱动程序我已经初始化了浏览器.并得到上述错误.

java testing selenium firefox-marionette geckodriver

-1
推荐指数
1
解决办法
1020
查看次数

所有使用Selenium Chrome驱动程序打开的Chrome窗口

如何在地址栏中标识具有特定网址的现有打开的Chrome窗口,并使用C#中的Selenium网络驱动程序在该窗口中打开新标签?我看到的所有示例都显示了如何在Selenium ChromeDriver中打开的窗口中打开新选项卡.

    IWebDriver driver = null;    
    var chromeDriverService = ChromeDriverService.CreateDefaultService();

      chromeDriverService.HideCommandPromptWindow = true;
      driver = new ChromeDriver(chromeDriverService);
  List<string> tabs = new List<string>(driver.WindowHandles);
Run Code Online (Sandbox Code Playgroud)

driver.WindowHandles总是返回ChromeDriver打开的窗口.但是,我正在寻找所有的窗户.一旦执行实例化ChromeDriver的行,就会打开一个新窗口.但是,我需要在现有窗口的新选项卡中打开一个新URL.

c# selenium selenium-chromedriver selenium-webdriver

-1
推荐指数
1
解决办法
993
查看次数

使用java中的selenium webdriver登录Gmail

import java.util.concurrent.TimeUnit;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.support.ui.ExpectedConditions;
import org.openqa.selenium.support.ui.WebDriverWait;
public class NewGmail {
    public static void main(String[] args) {
            WebDriver driver = new FirefoxDriver();
            driver.manage().window().maximize();
            String url = "https://accounts.google.com/signin";
            driver.get(url);
            driver.findElement(By.id("identifierId")).sendKeys("cp8805"); 
            //driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);      
            WebDriverWait wait=new WebDriverWait(driver, 20);               
            driver.findElement(By.xpath("//span[@class='RveJvd snByac']")).click();         
            driver.manage().timeouts().implicitlyWait(40, TimeUnit.SECONDS);        
            driver.findElement(By.xpath("//input[@class='whsOnd zHQkBf']")).sendKeys("xxxxxx");             
            driver.findElement(By.xpath("//span[@class='RveJvd snByac']")).click(); 
    }  
}
Run Code Online (Sandbox Code Playgroud)

在邮件ID之后我的密码也写在id框选项中,服务器重定向到下一个密码页面.我想问一下我将做什么,以便我的密码只能输入密码页面.

java firefox selenium selenium-webdriver geckodriver

-1
推荐指数
1
解决办法
3万
查看次数

Robot框架和Selenium框架之间有什么关系?

对于Web应用程序自动化,Selenium可以与Robot框架一起使用。但是两者都是框架,两者之间是什么关系?

selenium robotframework

-1
推荐指数
2
解决办法
4075
查看次数

如何在没有元素的情况下重构循环方法

如何更改此方法以使用不同数量的元素?有时可能有3个元素,另一个时间5.我希望这个循环可以找到元素,只要它能找到它,如果没有,就可以打破.现在,当只有3个元素时,会出现"无法定位元素"的错误,测试失败.

public void checkProductsInOrder() {
    for (int i = 1; i <= 5; i++) {
        WebElement element = driver.findElement(By.xpath("(//td[@data-id=\"product_name\"])[" + i + "]"));
        wait.until(ExpectedConditions.visibilityOf(element));
        productsInOrder.add(element.getText());
    }
Run Code Online (Sandbox Code Playgroud)

java selenium selenium-webdriver

-1
推荐指数
1
解决办法
114
查看次数

如何从没有xpath的元素中提取文本

我正试图在食品配送网站上为每个餐馆的网上刮取美元符号评级,但是,没有可用的xpath.

<!-- react-text: 2108 -->
"$$"
<!-- /react-text -->
Run Code Online (Sandbox Code Playgroud)

以上代码是我查看网站时用于美元评级的代码.我尝试过使用上面的直线:

    <i class="icon-bullet--small">·</i>
Run Code Online (Sandbox Code Playgroud)

但是,这会输出期间,因为它不是美元评级.我也尝试过使用:

    cost = ['//li[{}]/a/div[2]/p[2]/!'.format(x) for x in range(1, 999)]
Run Code Online (Sandbox Code Playgroud)

以及在xpath中使用"! - "和"react"和"react-text",但它们都不起作用.有关如何处理此问题的任何建议?

python selenium xpath web-scraping

-1
推荐指数
1
解决办法
62
查看次数

在XPath中使用变量

这是有效的,但我想使用文本Group 1作为变量.

代码试用:

[FindsBy(How = How.XPath, Using = "(.//*[normalize-space(text()) and normalize-space(.)= 'Group 1'])[1]/ancestor::app-organization//*[normalize-space(text()) and normalize-space(.)='Create a new board...']/following::input[1]")]
public IWebElement BoardNameInputField { get; set; }
Run Code Online (Sandbox Code Playgroud)

我试过这个但没有成功:

string boardName = "Group 1";

[FindsBy(How = How.XPath, Using = "(.//*[normalize-space(text()) and normalize-space(.)='${boardName}'])[1]/ancestor::app-organization//*[normalize-space(text()) and normalize-space(.)='Create a new board...']")]
public IWebElement CreateNewBoard { get; set; }
Run Code Online (Sandbox Code Playgroud)

是否有可能做到这一点?

c# selenium xpath xpath-1.0 selenium-webdriver

-1
推荐指数
1
解决办法
234
查看次数

断言上“类型不匹配:无法从 void 转换为 boolean”

代码如下:

import static org.testng.Assert.assertEquals;

import static org.testng.Assert.assertTrue;

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;

public class ContactPageElements {
    public static WebElement element = null;
    public static String baseURL1 = "http://something.com";

    //Clicking logo should take you back to the baseURL
    public static void clickLogo (WebDriver driver) {
        element = driver.findElement(By.xpath(".//*[@id='blah'"));
        element.click();
        String currentURL = driver.getCurrentUrl();
        assert.assertEquals(currentURL, baseURL1);
    }
}
Run Code Online (Sandbox Code Playgroud)

对于断言,我收到错误:“类型不匹配:无法从 void 转换为布尔值”

java testng selenium assert

-2
推荐指数
1
解决办法
1万
查看次数