2013-11-20 142 views
0
for products in self.br.find_elements_by_xpath("//*[@class='image']/a"): 
    self.urls.append(products.get_attribute("href")) 

此代码将查找所有类的hrefs链接。通过XPath查找元素后退

我的问题是,网页有变化的来源有时它可以是//*[@class='image']/a但有时//*[@class='newPrice']/a。如果第一个xpath选项没有找到任何东西,我怎样才能将for循环更改为使用其他表达式?

回答

3

存储在一个变量输出第一:

links = self.br.find_elements_by_xpath("//*[@class='image']/a") 
if not links: 
    links = self.br.find_elements_by_xpath("//*[@class='newPrice']/a") 
for products in links: 
    self.urls.append(products.get_attribute("href")) 
+0

完美的作品就像一个魅力! –

1

不等同于回退,但你可以使用一个或句法:

for products in self.br.find_elements_by_xpath(
     "//*[@class='image']/a | //*[@class='newPrice']/a"): 
    self.urls.append(products.get_attribute("href")) 
+0

谢谢我真的很喜欢这可以很容易使用:) –

相关问题