【发布时间】:2016-05-17 14:56:32
【问题描述】:
我对 Python/Selenium 相当陌生,并且一直在不断尝试解决一些我想修改但没有运气的代码的问题。在互联网上研究并尝试了几天的各种更改后,我束手无策,希望这里有人能提供帮助。如果我使用的任何术语被误导或不正确,我提前道歉。如果您需要任何其他信息,请告诉我。
具体来说,我想运行一个脚本来自动下载/转码/重新上传。我遇到的一个特别问题如下:
该脚本主要是用 Python 编写的,并且还依赖于 Selenium 和传输守护程序/远程的元素来运行。一旦导航到网站并选择要下载的 torrent,它就会使用 xpaths 从页面中提取信息。我不确定是代码的这一部分还是以下导致它中断,但是当没有发布日期和/或列出的其他信息时,脚本会停止运行并返回错误。
Traceback (most recent call last):
File "main.py", line 30, in <module>
flac, missing, date, media_type, ul_page, cat_num, rel_type, seeders = get_torrent.get_available(driver)
File "/home//Desktop/get_torrent.py", line 38, in get_available
release_date = re.search('\d{4}-\d{2}-\d{2}', additional_info).group(0)
AttributeError: 'NoneType' object has no attribute 'group'
据我所知:
该网站没有任何信息要存储在附加信息中,因此它被设置为没有组 0 属性的无,或者...
additional_info 不包含导致错误的 re.search 查询。
无论如何,我想做的就是这样。如果(无论导致错误的原因;即附加信息为空白,re.search 引用不存在等)为真,则跳过尝试将 re.search('\d...) 存储到 release_date 并重新启动洪流搜索过程以找到没有该问题的。 (您无法重新上传没有发布日期的种子,因此这些选项不可行)。
有问题的代码sn-p:
additional_info = driver.find_element_by_xpath("//tr[@class='edition_info'][last()]/td").text
release_date = re.search('\d{4}-\d{2}-\d{2}', additional_info).group(0)
catalog_num = re.search('[A-Z]+-[0-9]+', additional_info.split('/')[-2:-1][0])
【问题讨论】:
标签: python python-2.7 selenium xpath