【问题标题】:How to find a div element in DOM code with selenium webdriver and python? [closed]如何使用 selenium webdriver 和 python 在 DOM 代码中查找 div 元素? [关闭]
【发布时间】:2017-07-24 12:14:45
【问题描述】:
我想通过使用 selenium webdriver 和 python 2.7 获取文档宽度来检测非移动友好网站。
我打算如何使用 selenium webdriver 和 python 完成这项工作:
- 在与手机设备宽度相似的小窗口中打开 Chrome 网络驱动程序
- 打开 URL 并读取其 DOM html 页面代码
- 在网站的 DOM 代码正文中查找
<div id="Wrapper"(或类似名称)。
- 如果
<div id="Wrapper"大于430px(大多数手机的最大宽度),打印网址和'website not reponsive'消息
那么两个问题:
这是检测非移动网站的可靠方法吗?
如何查找决定网站内容宽度的元素?
【问题讨论】:
标签:
python
html
selenium
selenium-webdriver
【解决方案1】:
你可以做一些事情:
driver.execute_script("return /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);")
如果是基于用户代理的移动设备,将返回布尔值。
要获得你可以做的宽度:
driver.execute_script("return document.body.offsetWidth;")
这将返回文档正文的当前宽度(以像素为单位)的整数。
还有一个内置到 selenium 中,它将为您提供浏览器大小。请记住,如果您使用的是 Chrome 的移动仿真,这会给您一个错误的值。
driver.get_window_size()
这将返回带有键 height 和 width 的字典。