拆分器find_by_css()未按预期工作



我在浏览器中尝试过,效果很好:

('button[data-item-id="1054079703"]')[0].click()

当我尝试使用Splinter:时

browser.find_by_css('button[data-item-id="1054079703"]')

返回Splinter对象:

[<splinter.driver.webdriver.WebDriverElement object at 0x1108c6c90>]

我可以看到它正在找到正确的元素:

browser.find_by_css('button[data-item-id="1054079703"]').first.html
u'this_is_what_im_looking_for'

但当我点击它时:

browser.find_by_css('button[data-item-id="1054079703"]').first.click()

我得到错误:

selenium.common.exceptions.ElementNotVisibleException: Message: element not visible

为了验证,返回False

browser.find_by_css('button[data-item-id="1054079703"]').first.visible

为什么我可以使用jQuery在浏览器中选择它,但它在Splinter中不可见?

有时,无论出于何种原因,硒都会确定元素不可见,而实际上它是可见的。

最好检查你的css,以确保没有任何东西覆盖它,只是为了确定。

如果您确信它是可见的,请尝试使用execute_script

browser.execute_script("document.getElementsByClassName('myclass')[0].click()")

相关内容

  • 没有找到相关文章

最新更新