我想抓取新闻网站Al Jazeera上的文章。我编写了相对的xpath,它可以引导我找到浏览器开发工具上的句子。但奇怪的是,当使用完全相同的xpath时,抓取文本失败。例如,有一条新闻(url:https://www.aljazeera.com/economy/2023/2/6/who-is-gautam-adani-and-why-is-he-controversial)
x路径:
//header[@class="article-header"]/h1
//header[@class="article-header"]//em
//main[@id="main-content-area"]/div[2]/p[1]
//main[@id="main-content-area"]/div[2]/p[2]
//main[@id="main-content-area"]/div[2]/p[3]
//main[@id="main-content-area"]/div[2]/p[4]
......等等,但没有刮伤任何东西。
我都测试过了
.text
.get_attribute('textContent')
都失败了,因为没有不可见文本。
请帮我把这些段落抄下来。
4条答案
按热度按时间d4so4syb1#
所有的定位符都是正确的。要从website打印文本,理想情况下需要为visibility_of_element_located()导出WebDriverWait,并且可以使用以下locator strategies之一:
ekqde3dh2#
我希望这将为您的解决方案工作,请添加我在代码中定义的选项
w1jd8yoj3#
我重新编写了代码,它工作了。它不工作的原因是我试图把下面的代码扔到另一个集成代码中。也许在合并过程中有什么错误。
很难将不同的def(s)组合在一起。感谢所提供的答案。
下面的代码可以工作:
3j86kqsm4#
尝试使用完整xpath