【发布时间】:2018-01-01 09:54:01
【问题描述】:
我是 Selenium 的新手,并且在这方面挣扎了几个小时。 我有一个包含图标和流视图(两个图像)的 HTML 页面,浏览器视图处于 100%,我想修改它并使其更小, 可以通过更改浏览器缩放、修改 CSS 属性或单击图像来完成。
我的代码从打开的浏览器开始并等待所有元素加载:
driver = webdriver.Firefox()
driver.get('http://' + user +':'+password+'@'+camera_address)
driver.maximize_window()
driver.implicitly_wait(15) # seconds
我尝试通过缩放来做到这一点:
driver.execute_script("document.body.style.zoom='0.4'")
没用。 尝试通过 Selenium 来实现——查找元素并更改 CSS:
myDynamicElement = driver.find_elements_by_id("stream")
或者找到图片并点击:
driver.find_element_by_xpath('//img[@src="../pics/button_downsize_27x27px.gif"]').click()
或
driver.find_elements_by_xpath('//*[@img]').click()
或
driver.find_elements_by_tag_name('img').click()
HTML 页面如下所示:
<a href="JavaScript:zoom(8)" target="_self"><img src="/pics/button_downsize_27x27px.gif" width="27" height="27" border="0" title="Scale down to 800 px width" alt="Scale down to 800 px width"></a>
<td colspan="3" align="center"><img id="stream" src="/mjpg/video.mjpg" width="2560" height="1920" border="0" alt="If no image is displayed, there might be too many viewers, or the browser configuration may have to be changed. See help for detailed instructions on how to do this."><br></td>
尝试使用@title 和@alt,甚至包含但没有任何效果。
我做错了什么?!?!如何找到并点击这张图片(/pics/button_downsize_27x27px.gif)?
【问题讨论】:
-
请粘贴您网站的 html DOM。
-
太长了,你到底想看什么?
-
请检查答案并在python中使用它并让我知道您的反馈
-
为什么要
modify it and make it smaller?有什么特别的用例吗? -
请更新您的问题以提供您尝试过的 xpath 或 css 选择器,以便我们检查它们是否正确。 (您可以简单地在 DevTool 中尝试它们,无需反复执行脚本)
标签: python python-3.x selenium selenium-webdriver