如果我正在运行以下内容:
title = browser.find_element_by_xpath("//h1[@class='title']").text
views = browser.find_element_by_xpath("//span[@class='count']").text
likes = browser.find_element_by_xpath("//span[@class='votesUp']").text
但由于某种原因在所述页面上找不到其中一个元素,我如何告诉python只是传递并继续前进。它似乎不时在我身上崩溃。我已经尝试了平常但是因为我还没有完全确认什么标题不起作用。
我正在创建一个简单的屏幕抓取工具,只需浏览网站即可打开视频并抓取信息。然后我将此信息导出到csv,如下所示:
b = open('test.csv', 'ab')
a = unicodecsv.writer(b)
data = [[title, views, likes]]
a.writerows(data)
由于其中一些页面可能不包含崩溃的xpath,有没有解决方法呢?
答案 0 :(得分:0)
我想当你谈到Selenium时,你的意思是WebDriver,如果是这样的话,它会附带common.exceptions
模块,其中包含您可以在try: except:
块中捕获的所有异常,例如
selenium.common.exceptions.NoSuchElementException
此处有更多例外https://selenium.googlecode.com/svn/trunk/docs/api/py/common/selenium.common.exceptions.html