【发布时间】:2021-08-28 08:45:33
【问题描述】:
我在一个项目中使用 Selenium,该项目包括打开一系列网站,这些网站包含几乎相同的结构,在每个网站中收集数据并存储它。
我遇到的问题是一些我不想访问的站点不可用,当程序到达其中一个站点时它就会停止。
我想要它做的是跳过这些并继续进行下一次迭代,但到目前为止我的尝试已经过时了......在我最近的尝试中,我使用了方法 is_displayed(),但显然它只会告诉我一个元素是否可见,而不是告诉我它是否存在。
if driver.find_element_by_xpath('//*[@id="main-2"]/div[2]/div[1]/div[1]/div/div[1]/strong').is_displayed():
上面的例子不起作用,因为驱动程序需要先找到元素,然后再告诉我它是否可见,但元素根本不存在。
你们中有人处理过类似的事情吗?
【问题讨论】:
-
避免使用 [1] [x] 的 xpath 并使用元素的属性
-
@Wonka 我有什么特别的理由要避免它吗?我从元素终端复制了 xpath,您还有什么建议?
标签: python selenium web-scraping