Python中的XPATH语法验证器

Python中的XPATH语法验证器,python,xpath,web-scraping,web-crawler,Python,Xpath,Web Scraping,Web Crawler,我开发了一个有很多动作的爬虫。很多XPath都涉及到,因此我使用json文件来存储。然后爬虫程序开始运行,我想对xpath进行一次基本语法检查(在使用xpath之前),并针对无效的xpath引发错误 例如: xpath1 = '//*[@id="react-root"]/section' xpath2 = '//*[[@id="react-root"]/section' xpath3 = '//*[@id="react-root"]\section' 从这些XPath中,只有xpath1有效

我开发了一个有很多动作的爬虫。很多XPath都涉及到,因此我使用json文件来存储。然后爬虫程序开始运行,我想对xpath进行一次基本语法检查(在使用xpath之前),并针对无效的xpath引发错误

例如:

xpath1 = '//*[@id="react-root"]/section'
xpath2 = '//*[[@id="react-root"]/section'
xpath3 = '//*[@id="react-root"]\section'
从这些XPath中,只有xpath1有效


是否有任何模块或正则表达式进行此类验证?

您可以编译xpath字符串,如果语法不正确,将使用这些字符串引发异常:

导入lxml.etree >>>lxml.etree.XPath('/*[@id=“react root”]/section') //*[@id=“react root”]/section >>>lxml.etree.XPath('/*[[@id=“react root”]/section') 回溯(最近一次呼叫最后一次): ... lxml.etree.XPathSyntaxError:表达式无效 >>>lxml.etree.XPath(r'/*[@id=“react root”]\section') 回溯(最近一次呼叫最后一次): ... lxml.etree.XPathSyntaxError:表达式无效
您可以编译xpath字符串,如果语法不正确,这些字符串将引发异常:

导入lxml.etree >>>lxml.etree.XPath('/*[@id=“react root”]/section') //*[@id=“react root”]/section >>>lxml.etree.XPath('/*[[@id=“react root”]/section') 回溯(最近一次呼叫最后一次): ... lxml.etree.XPathSyntaxError:表达式无效 >>>lxml.etree.XPath(r'/*[@id=“react root”]\section') 回溯(最近一次呼叫最后一次): ... lxml.etree.XPathSyntaxError:表达式无效
这正是我想要的。谢谢!这正是我想要的。谢谢!
from selenium import webdriver;
webdriver.Chrome().find_elements('xpath', '//*[text(),"invalid xpath"]')