如何使用python和Selenium检查网页上是否存在文本(不是来源)?



我用driver.find_element_by_id('id'(.is_displayed((在页面中搜索某个id。如果它存在于页面源代码中,则返回 true。我希望它仅在网页上显示时才返回 true。

您可以通过获取该 webelement 的列表并检查大小是否大于 0 来检查它。如果大小大于 0,则该元素将显示在页面上,否则不会。
您可以这样做:

if(len(driver.find_elements_by_id('id'))>0):
print("Element is displayed")
else:
print("Element is not displayed")

只有几种HTML方法可以从屏幕上隐藏某些内容,您可以查找它们作为元素样式的一部分。

style="display:none; font-size:1px; line-height:1px; max-height:0px; max-width:0px; opacity:0; overflow:hidden; mso-hide:all;"

这些是我通常在尝试隐藏网页上的触发器或查找其他人在其页面上留下的触发器时找到的触发器。 你只是在做相反的事情。

我通常会使用 lxml.etree 进行一些 xpath 搜索,以简化此操作。 但是,如果您正在使用具有活动JS的页面,则可能需要考虑使用诸如Selenium之类的东西来触发JS,因为它可能会在登陆请求/lxml不会捕获的页面后填充内容。

相关内容

  • 没有找到相关文章

最新更新