简体   繁体   English

如何知道 xpath 是否存在:

[英]How to Know If xpath exists or not:

can you help to fix that problem你能帮忙解决这个问题吗

How can i know and proccess this if the xpath doenst exists如果 xpath 确实存在,我怎么知道并处理这个

Like... if doenst exista do this, if exists do that就像...如果不存在就这样做,如果存在就那样做

Thank you everyone.谢谢大家。

const puppeteer = require('puppeteer');

(async () => {
    // set some options (set headless to false so we can see 
    // this automated browsing experience)
    let launchOptions = { headless: false, args: ['--start-maximized'] };

    const browser = await puppeteer.launch(launchOptions);
    const page = await browser.newPage();

    // set viewport and user agent (just in case for nice viewing)
    await page.setViewport({width: 1366, height: 768});
    await page.setUserAgent('Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36');

    // go to the target web
    await page.goto('https://www.lamudi.co.id/newdevelopments/');

    // wait for element defined by XPath appear in page
    await page.waitForXPath("(//span[@class='CountTitle-number'])[1]");

    // evaluate XPath expression of the target selector (it return array of ElementHandle)
    let elHandle = await page.$x("(//span[@class='CountTitle-number'])[1]");

    // prepare to get the textContent of the selector above (use page.evaluate)
    let lamudiNewPropertyCount = await page.evaluate(el => el.textContent, elHandle[0]);

    console.log('Total Property Number is:', lamudiNewPropertyCount);

    // close the browser
    await browser.close();
})();

Like... if doenst exista do this, if exists do that...就像...如果不存在就这样做,如果存在就那样做...

could you try something like below.你能试试下面这样的东西吗?

----
----
let elHandle = await page.$x("(//span[@class='CountTitle-number'])[1]");

if(typeof elHandle === 'undefined') {
    console.log("it is not defined yet, do something");
} else if (elHandle.length > 0) {
    console.log("you have a greater than zero length array, do something");
}
----
----

hope it might help.希望它可能有所帮助。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM