Python selenium find_element_by_xpath 出错

2020-02-03 22:20:04 +08:00
 yezhiye

没事在家写 selenium 爬虫,已知第 2 个可用,第 1 个不可用。查了下 xpath 语法没问题啊……求指教

WebDriverWait(driver,timeout=15).until(lambda d:d.find_element_by_xpath("//div[@class='article']"))

WebDriverWait(driver,timeout=15).until(lambda d:d.find_element_by_class_name("article"))

2838 次点击
所在节点    Python
6 条回复
yezhiye
2020-02-03 22:33:48 +08:00
class 包含多个属性时 xpath 不能这么写,结帖。
RedisMasterNode
2020-02-03 22:37:37 +08:00
xpath 直接从源码中右键,copy xpath 获取比手写靠谱一点?
yezhiye
2020-02-03 22:45:23 +08:00
@RedisMasterNode copy path 提供的是很笨的那种,页面稍微变动就用不了了
ClericPy
2020-02-03 23:45:30 +08:00
1. 没有源码, 不知道你这定位到哪去了
2. 没有结果, 不知道你说的 find 到的到底是不是 div
3. selenium 如果不靠谱, 为什么不直接拿整个 HTML 丢给自己家的 lxml 去解析
wzwwzw
2020-02-04 02:15:43 +08:00
看看是不是没有切换 iframe。
yezhiye
2020-02-04 08:57:07 +08:00
感谢楼上各位答复。是我 xpath 写错了,已经解决问题了…

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/641964

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX