page.getByXPath("//*[@href='http://www.example.com/index.do/abc/1_*'");
Do I need to escape any characters?
I am trying to get all ahref links on the page that have the pattern of:
http://www.example.com/index.do/abc/1_
so these should all be retrieved:
http://www.example.com/index.do/abc/1_asdf-asdfasdf
h开发者_Go百科ttp://www.example.com/index.do/abc/1_223
http://www.example.com/index.do/abc/1_as.php
http://www.example.com/index.do/abc/1_2222233
There are no wildcards in XPath. You want something like this instead:
page.getByXPath("//*[contains(@href,'http://www.example.com/index.do/abc/1_')]");
This relies on the contains function. You can also use the starts-with function:
//*[starts-with(@href,'http://www.example.com/index.do/abc/1_')]
If you are using XPath 1.0, you cannot do wildcard (or regular expression) matches in that way. (Upgrading to 2.0 may allow that)
For this case, I'd suggest doing a 'contains' test for the prefix
//a[contains(@href, 'http://www.example.com/index.do/abc/1_')]
(Note, I limited the select to just a tags)
See if your XPath library supports starts-with(string1,string2) and use:
page.getByXPath("//*[starts-with(@href, 'http://www.example.com/index.do/abc/1_')");
Also, can't you replace * by a ?
 
         
                                         
                                         
                                         
                                        ![Interactive visualization of a graph in python [closed]](https://www.devze.com/res/2023/04-10/09/92d32fe8c0d22fb96bd6f6e8b7d1f457.gif) 
                                         
                                         
                                         
                                         加载中,请稍侯......
 加载中,请稍侯......
      
精彩评论