我尝试获得其标题包含一些单词的链接,同时不包含一些单词,我使用了以下代码,但它表明不是有效的XPath表达式。
请在这里找到我的代码:
任何帮助我们都将不胜感激!
driver.get("http://www.csisc.cn/zbscbzw/isinbm/index_list_code.shtml")
while True:
links = [link.get_attribute('href') for link in driver.find_elements_by_xpath("//a[(contains(@title,'公司债券')and not(contains(@title,'短期'))]")]
for link in links:
driver.get(link)
#dosth发布于 2021-01-27 20:57:38
xpath中有一个额外的括号,请使用
links = [link.get_attribute('href') for link in driver.find_elements_by_xpath("//a[contains(@title,'公司债券')and not(contains(@title,'短期'))]")] 相反,您可以先使用chrome developer tools来验证xpath。

PS:我在这里对xpath进行了一些修改,以便能够在页面中找到一些元素
发布于 2021-01-27 20:45:21
在and之前应该有空格。此外,在您的XPath中还有额外的前导括号。尝试:
"//a[contains(@title,'公司债券') and not(contains(@title,'短期'))]"https://stackoverflow.com/questions/65919383
复制相似问题