Python Selenium PY-xpath-loop不工作

Python Selenium PY-xpath-loop不工作,python,class,selenium,xpath,selenium-chromedriver,Python,Class,Selenium,Xpath,Selenium Chromedriver,我有一个关于使用Selenium提取类中的第二个元素的问题,特别是xpath。 查看图像(很抱歉没有通过编码报告HTML,但太长了),我将提取第二个索引为“字段内容”的项目,即日期(2018年6月4日)。然而,之前还有另一个对象也用“字段内容”索引:欧洲的文化和身份。因此,正如我在代码中所做的那样,我在只提取日期并将其放入数据帧中时遇到了一些问题。 如果我观察正确,包含日期文本的类名列表是唯一的。可以通过两种方式选择日期文本: 要选择包含在多个类名中的类名,请执行以下操作: #if class

我有一个关于使用Selenium提取类中的第二个元素的问题,特别是
xpath
。 查看图像(很抱歉没有通过编码报告HTML,但太长了),我将提取第二个索引为“字段内容”的项目,即日期(2018年6月4日)。然而,之前还有另一个对象也用“字段内容”索引:欧洲的文化和身份。因此,正如我在代码中所做的那样,我在只提取日期并将其放入数据帧中时遇到了一些问题。


如果我观察正确,包含日期文本的类名列表是唯一的。可以通过两种方式选择日期文本:

要选择包含在多个类名中的类名,请执行以下操作:

#if class name has spaces on both sides 
//div[contains(concat(' ', normalize-space(@class), ' '), ' test-class')]/span

#if class name has spaces on left side only(your example)
//div[contains(concat(' ', normalize-space(@class)), ' views-field-field-start-date-text')]/span
通过特定类标记的所有类名选择

//div[@class='views-field views-field-field-start-date-text')]/span

您可以尝试以下Xpath:

//a[contains(text(),'Cultures and Identities')]/ancestor::div[contains(@class,'field-title')]/following-sibling::div[contains(@class,'start')]/span

如果不专门在selenium上尝试这一点(我使用lxml,但xpath应该是相同的),我认为我们只需更改xpath就可以取得很大进展。例如,此xpath可以获取所有日期字符串:

'//div[contains(@class, "views-field-field-start-date-text")]/span'
然后,您可以索引到:

result[2].text

非常感谢您的建议!它运行,绝对毫无意义,事实上,我忘了考虑这个路径“查看字段视图字段字段开始日期文本”。然而,在更一般的情况下。如何在具有相同refenrece的类中选择secnod元素:在本例中为“字段内容”。有解决办法吗。再次感谢您的建议!(//div [@类=“字段内容”)](1)你是对的,我忘了考虑这个路径:“视图字段视图字段字段开始日期文本”。感谢you@cruisepandey答案可能是您案例中最具体的,因为它根据您具体答案的文本获得确切的字符串。我的更一般,谢谢!我解决了所有的问题。喜欢抓蟒蛇,但需要不断训练。很高兴它对你有用。您可以单击“向下投票”按钮下方的复选标记,将此答案标记为已接受。非常感谢。
result[2].text