小编Yas*_*ash的帖子

XPath:从子节点获取父节点

我需要获取子节点"标题50"的父节点

目前我只使用

//*[title="50"]
Run Code Online (Sandbox Code Playgroud)

我怎么能得到它的父母?结果应该是store节点.


<?xml version="1.0" encoding="utf-8"?>
<d:data xmlns:d="defiant-namespace" d:mi="23">
    <store d:mi="22">
        <book price="12.99" d:price="Number" d:mi="4">
            <title d:constr="String" d:mi="1">Sword of Honour</title>
            <category d:constr="String" d:mi="2">fiction</category>
            <author d:constr="String" d:mi="3">Evelyn Waugh</author>
        </book>
        <book price="8.99" d:price="Number" d:mi="9">
            <title d:constr="String" d:mi="5">Moby Dick</title>
            <category d:constr="String" d:mi="6">fiction</category>
            <author d:constr="String" d:mi="7">Herman Melville</author>
            <isbn d:constr="String" d:mi="8">0-553-21311-3</isbn>
        </book>
        <book price="8.95" d:price="Number" d:mi="13">
            <title d:constr="String" d:mi="10">50</title>
            <category d:constr="String" d:mi="11">reference</category>
            <author d:constr="String" d:mi="12">Nigel Rees</author>
        </book>
        <book price="22.99" d:price="Number" d:mi="18">
            <title d:constr="String" d:mi="14">The Lord of the Rings</title>
            <category d:constr="String" d:mi="15">fiction</category>
            <author …
Run Code Online (Sandbox Code Playgroud)

xml xpath

129
推荐指数
4
解决办法
26万
查看次数

使用Selenium WebDriver和Java Robot Class进行文件上载

我正在使用Selenium WebDriver和Java,我需要自动化文件上传功能.我尝试了很多,但是当点击"浏览"按钮并打开一个新窗口时,脚本会停止执行,而不是卡住.我试过FireFox和IE驱动程序,但无济于事.

我也尝试通过调用autoit exe文件,但是当单击Browse按钮时打开新窗口,特定语句

Runtime.getRuntime().exec("C:\\Selenium\\ImageUpload_FF.exe")
Run Code Online (Sandbox Code Playgroud)

无法实现.请帮助

java selenium awtrobot selenium-webdriver

17
推荐指数
1
解决办法
5万
查看次数

Selenium:滚动到页面末尾

硒:

我是WebDriverJS的新手.我在Java中尝试过这种方法.

Long repaeted = 0l, scrollHeight = 0l, returnHeight = 0l;
while(true){
    if (repaeted == 0) {
        returnHeight = (Long) jse.executeScript("var scroll =document.documentElement.scrollHeight;window.scrollTo(0, scroll); return scroll;");
         System.out.println("Height : "+scrollHeight +"\t Chnage : "+returnHeight+ "\t Repeated : "+repaeted);
         scrollHeight = returnHeight;
     }else {
         returnHeight = (Long) jse.executeScript("var scroll =  document.documentElement.scrollHeight;window.scrollTo(0, scroll); return scroll;");
         System.out.println("Height : "+scrollHeight +"\t Chnage : "+returnHeight+ "\t Repeated : "+repaeted);
         if (scrollHeight.intValue() == returnHeight.intValue()) {
             System.out.println("Break.."+ returnHeight);
             break;
         } else { scrollHeight = returnHeight; …
Run Code Online (Sandbox Code Playgroud)

javascript selenium node.js selenium-webdriver

8
推荐指数
1
解决办法
4344
查看次数

Java读取文件具有领先的BOM表[ï]¿

我正在逐行读取包含关键字的文件,发现一个奇怪的问题。我希望如果内容相同,则彼此遵循的行仅应处理一次。喜欢

sony
sony
Run Code Online (Sandbox Code Playgroud)

只有第一个被处理。但是问题是,java不能将它们平等对待。

INFO: [, s, o, n, y]
INFO: [s, o, n, y]
Run Code Online (Sandbox Code Playgroud)

我的代码如下所示,问题出在哪里?

    FileReader fileReader = new FileReader("some_file.txt");
    BufferedReader bufferedReader = new BufferedReader(fileReader);
    String prevLine = "";
    String strLine
    while ((strLine = bufferedReader.readLine()) != null) {
        logger.info(Arrays.toString(strLine.toCharArray()));
        if(strLine.contentEquals(prevLine)){
            logger.info("Skipping the duplicate lines " + strLine);
            continue;
        }
        prevLine = strLine;
    }
Run Code Online (Sandbox Code Playgroud)

更新:

似乎在第一行中有一个空格,但实际上没有,并且这种trim方法对我不起作用。它们不一样:

INFO: [, s, o, n, y]
INFO: [ , s, o, n, y]
Run Code Online (Sandbox Code Playgroud)

我不知道Java添加的第一个Char是什么。

已解决:BalusC的解决方案解决了该问题,感谢您指出了BOM的问题,该问题帮助我快速找到了解决方案。

java csv unicode character-encoding java-io

5
推荐指数
1
解决办法
3786
查看次数

用于选择最后一个内部标签的 Xpath 表达式

对于此 XML 摘录,我想指定“最后一个内部组”,在本例中为“报告”,但该内部区域可能有更多标签,我想要“其他信息”中的最后一个

那么我怎么能说“最后一组页面string='Other Information'”呢?

 <page string="Other Information">
    <group>
        <group string="Sales Information" name="sales_person">
            <field name="user_id"/>
            <field name="team_id" options="{'no_create': True}"/>
            <field name="client_order_ref"/>
            <field name="company_id" options="{'no_create': True}" groups="base.group_multi_company"/>
            <field name="project_id" attrs="{'invisible':[('state','=','sale')]}" context="{'default_partner_id':partner_invoice_id, 'default_name':name}" groups="analytic.group_analytic_accounting"/>
            <field name="related_project_id" attrs="{'readonly': ['|',('project_id','!=',False),('invoice_count','!=',0),('state','=','sale')],'invisible':[('state','!=','sale')]}" context="{'default_partner_id':partner_invoice_id, 'default_name':name}" groups="analytic.group_analytic_accounting"/>
        </group>
        <group name="sale_pay" string="Invoicing">
            <field name="fiscal_position_id" options="{'no_create': True}"/>
            <field name="invoice_status" attrs="{'invisible': [('state', 'not in', ('sale','done'))]}"/>
        </group>
        <!-- ***** THIS ONE ****** -->
        <group string="Reporting" name="technical" groups="base.group_no_one">
            <field groups="base.group_no_one" name="origin"/>
        </group>
        <!-- ***** THIS ONE ****** -->
    </group>
</page>
Run Code Online (Sandbox Code Playgroud)

xpath openerp

4
推荐指数
1
解决办法
4344
查看次数

S3:为给定密钥生成预签名 URL。[密钥可能/不存在]

在 S3 存储桶中不存在密钥时获取消息。我检索该存储桶中的所有对象并将这些键与给定的搜索键匹配。如果可用,则返回 URL-String,否则返回消息“指定的键不存在”。

他们在访问密钥时是否还有其他提高性能的方法,这在 S3 存储桶中不可用。

这是我的代码:

public class S3Objects {
    static Properties props = new Properties();
    static InputStream resourceAsStream;
    static {
        ClassLoader classLoader = new S3Objects().getClass().getClassLoader();
        resourceAsStream = classLoader.getResourceAsStream("aws.properties");
        try {
            props.load(resourceAsStream);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    public static void main(String[] args) throws IOException, AmazonServiceException, AmazonClientException, InterruptedException {
        AWSCredentials awsCreds = new 
                        BasicAWSCredentials(props.getProperty("accessKey"), props.getProperty("secretKey"));
                        // PropertiesCredentials(resourceAsStream);
        AmazonS3 s3Client = new AmazonS3Client( awsCreds );

        String s3_BucketName = props.getProperty("bucketname");
        String folderPath_fileName = props.getProperty("path");

        //uploadObject(s3Client, s3_BucketName, folderPath_fileName);
        //downloadObject(s3Client, …
Run Code Online (Sandbox Code Playgroud)

java cloud amazon-s3 amazon-web-services

0
推荐指数
1
解决办法
5349
查看次数