web-scraping - 使用什么:在抓取 Linkedin 时使用 Xpath 或 CSS 选择器?
问题描述
我想抓取 Linkedins 的活动帖子——评论、浏览量等。选择什么硒方法:Xpath 还是 CSS?我正在尝试使用 Xpath 执行此操作,但我有一种奇怪的感觉,即它正在根据配置文件、语言和 chrome 版本发生变化......如何为一般用途执行此操作?
有人可以建议吗?
解决方案
Xpath 可以随着 javascript 的执行而改变,也可以在不同的配置文件上有所不同。如果唯一的机会是使用 xpath,那没关系,但如果有 id 或特殊类,你应该使用它们。
在 selenium 中,您有多个选项可以通过 id 选择元素。
driver.find_element_by_id('ember87')
driver.find_element_by_xpath("//*[@id='ember87']")
当然,您可以使用任何其他 css 选择器,通常这是方便的方法。
driver.find_element_by_css_selector("#ember87")
driver.find_element_by_css_selector("div#ember87")
您也可以使用父元素使选择更特别和更方便。
driver.find_element_by_css_selector("#ember72>#ember87")
推荐阅读
- javascript - 为什么我的 await lambda.invoke 函数会多次调用 lambda?
- python - 检查 PyTorch nn 模型时出现 NotImplementError
- docker - Kubernetes - 使用 kubeadm 加入节点失败
- java - 带有涉及两个 DAO 的遗留代码的 Spring 事务
- java - Launch4j 无法创建 exe - 不包含图标数据
- python - 形状 (719,1) 的不可广播输出操作数与广播形状 (719,6) 不匹配
- javascript - 在 PHP 中提交表单后的警报消息
- javascript - React 组件无法正确卸载
- angular - 即使返回 true,当调用刷新令牌 api 时,Angular CanActivate 也不会路由到新路由
- c# - 没有引用的正在运行的异步类实例是否会被垃圾收集?