python selenium 模拟浏览器遇到的问题

2021-07-28  本文已影响0人  ltochange

遇到的问题

(1)按钮无法点击

selenium.common.exceptions.ElementClickInterceptedException: Message: element click intercepted

可能的原因,点击的地方受到了遮挡需要先把遮挡去掉,例如下图


在这里插入图片描述

此时,模拟浏览器进行点击“登录”按钮,因为“登录”按钮被遮挡,就会出现上面的错误

解决方法:先选择好账户,再输入密码,最后再点登录

(2)使用xpath获取属性值出错

selenium.common.exceptions.InvalidSelectorException: Message: invalid selector: The result of the xpath xx expression is: [object Attr]. It should be an element. 

原因是,webdriver的定位方法和浏览器xpath不一样,不能用find_elements_by_xpath直接定位到标签的属性。需要首先定位到元素之后,使用get_attribute方法到属性值。

(3)在html中能够查看到,但是使用find_elements_by_xpath无法获取,可能是内容被隐藏起来了。style="display: none;",此时可以通过get_attribute("textContent") 获取内容

item =  driver.find_element_by_xpath(tmp_xpath)
item.get_attribute("textContent")
上一篇下一篇

猜你喜欢

热点阅读