因此,为了在某个页面中找到一个单词,我决定这样做:
bodies = browser.find_elements_by_xpath('//*[self::span or self::strong or self::b or self::h1 or self::h2 or self::h3 or self::h4 or self::h5 or self::h6 or self::p]')
for i in bodies:
bodytext = i.text
if "description" in bodytext or "Description" in bodytext:
print("found")
print(i.text)
我相信代码本身很好,但最终我什么都没得到。说实话,我不确定发生了什么,看起来它似乎不起作用。 以下是运行website的示例。以下是一些页面来源:
<h2>product description</h2>
编辑:可能是因为该元素不在视野中,但我试图用它来解决这个问题。但是,没有运气。
答案 0 :(得分:0)
您可以尝试等待几毫秒以确保页面已呈现,并且预期元素可见:
time.sleep(1)
或者,尝试使用ID或自定义数据属性来定位元素而不是xpath。像find_by_css_selector('.my_class')
这样的东西可能效果更好。
答案 1 :(得分:0)
检查元素并检查其是否在iframe中
如果确实切换到框架
driver.switch_to_frame(frame_id)