当前位置: 首页 > 知识库问答 >
问题:

Selenium如何从excel表格中获取数据并将其写入网页?

龙安阳
2023-03-14

您好,这里的场景是我想在页面的文本字段中输入一些值,在此之前,我需要使用xpath查找文本字段。

所以在这里,我在Excel表中有这些字段的值和xpath。如何让上面的代码工作?两个片段都不起作用或显示任何错误。

Cell cells = null;
            Cell idcell=null;
            if (checking.equalsIgnoreCase("xxxxxxxxxxxxx")){
                System.out.println("Checking xxxxxxxxxxxx");

                if (checking.equalsIgnoreCase("yyyyyyyyyyyy")){
                for (int cols = 0; cols < sheet.getColumns(); cols++) {
                    cells = sheet.getCell(cols, rows);
                    idcell=sheet.getCell(cols,rows);
WebElement element_BuyCategory = driver.findElement(By.xpath(idcell.getContents()));
    element_BuyCategory.sendKeys(cells.getContents());
        System.out.println("xpath ok");
                    }

如能回复,我们将不胜感激。

共有1个答案

洪浩
2023-03-14

我想您知道如何从excel中提取数据,并将其发布在上面的代码中。

对于使用XPath在页面中查找文本框的部分,我认为如果您使用CSS选择器而不是XPath,会更容易,因为XPath对于这一领域的新手来说有点困难,而且往往会发生变化。

如果我们以StackOverflow页面右上角显示的文本框为例,该页面中的HTML代码如下所示:

<input class="textbox" type="text" value="" size="28" maxlength="240" tabindex="1" placeholder="search" name="q" autocomplete="off"></input>

我的建议是使用以下代码:

Cell cells = null;
Cell idcell=null;

if (checking.equalsIgnoreCase("xxxxxxxxxxxxx"))
{
    System.out.println("Checking xxxxxxxxxxxx");

    if (checking.equalsIgnoreCase("yyyyyyyyyyyy")){
        for (int cols = 0; cols < sheet.getColumns(); cols++) 
        {
            cells = sheet.getCell(cols, rows);
            idcell = sheet.getCell(cols,rows);            
            WebElement element_BuyCategory = driver.findElement(
                                           By.cssSelector(
                                           "#search div input.textbox ");

             /* Other way is find the element by its name, if its have a name  */
             WebElement element_BuyCategory_by_Name = driver.findElement(
                                           By.name("q");

            element_BuyCategory.sendKeys(cells.getContents());
            System.out.println("xpath ok");
         }
}

在某些情况下,如果您想使用XPath,则需要将find the element的一行替换为下一行:

/* If it's the only text box with this class or it's the first, I repeat this is a   example */
WebElement element_BuyCategory = driver.findElement
                                 By.xpath("//input[contains(@class,'textbox')"));

我希望上面解释的例子能帮助你。

 类似资料:
  • 本文向大家介绍Nodejs获取网络数据并生成Excel表格,包括了Nodejs获取网络数据并生成Excel表格的使用技巧和注意事项,需要的朋友参考一下 Nodejs的模版中有很多关于Excel表格的,这里我简单介绍一下我使用过的一个模块的使用。 首先,先安装Excel的模块: npm install node-xlsx 然后,在代码中引入模块: var xlsx = require('node-x

  • 目前,我只能阅读一个excel文档,并用我得到的代码编写相同的文档。现在我想读取多个excel文档并将数据写入其中。现在我得到了一个清晰的代码,这样做到一个文档,但这不是我想要的。我理解我目前得到的代码的结构,所以我更喜欢继续使用它。如何使用函数和函数来实现这一点? 这是我到目前为止所拥有的: 不是很好的编码...但它有效...

  • 本文向大家介绍php上传excel表格并获取数据,包括了php上传excel表格并获取数据的使用技巧和注意事项,需要的朋友参考一下 这个是最近需要做的一个功能,在网上也查看了很多相关的文章,基本上大同小异,在这里整理一下。 一:首先是html部分 二:就是去接收和处理上传的文件了。php部分 下面开始获取你上传的excel数据了 以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定

  • 我试图读取一个excel文件并将其显示在jsp页面中,我使用下面的代码,但它收到了一条错误消息。 法典: 错误信息 HTTP 状态 500 - 无法编译 JSP 的类: 键入异常报告消息 无法编译 JSP 的类: 说明 服务器遇到内部错误,导致无法满足此请求。异常组织 apache.jasper.Jasper异常: 无法编译 JSP 的类: 在生成的 java 文件中的行 [14] 处发生错误:

  • 本文向大家介绍python实现数据写入excel表格,包括了python实现数据写入excel表格的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了python数据写入excel表格的具体代码,供大家参考,具体内容如下 安装: xlsxwriter第三方库 code: 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。

  • 问题内容: 我有一个xlsx格式的下表,我想将其导入到我的sql数据库中: 该表非常复杂,我只需要‘1)HEADING’之后的记录 我一直在寻找要导入sql的php库,但它们似乎仅用于简单的excel文件。 问题答案: 您有两种方法可以实现: 第一种方法: 1)将其导出为某种文本格式。最简单的可能是制表符分隔的版本,但是CSV也可以使用。 2)使用负载数据功能。参见http://dev.mysql