【发布时间】:2018-08-17 03:09:35
【问题描述】:
我是 Python 和 Selenium 的新手,尝试通过 webdriver 单击按钮时遇到了问题。
我试图点击的 div 的 HTML 是:
<div class="">
<form method="POST">
<input class="hide" id="accept" name="accept" type="text" value="yes" readonly="">
<a href="/" class="btn btn-red">
<div class="svg-group group icn-bg-circle" data-png-fallback="">
<svg width="8" height="8">
<use xmlns:xlink=" " xlink:href=""></use>
</svg>
</div>
Decline
</a>
<button class="btn btn-green" type="submit">
<div class="svg-group group icn-bg-circle" data-png-fallback="">
<svg width="8" height="8">
<use xmlns:xlink="" xlink:href=""></use>
</svg>
</div>
Accept
</button>
</form>
</div>
我想在类名为 'class="btn btn-green"' 的按钮上使用 .click()。
我已经使用以下代码来选择元素(在遵循其他类似 SO 问题中的解决方案之后。
driver.find_element_by_css_selector(".btn-green")
看起来 webdriver 可以找到该元素,但是当我尝试应用 .click() 时,我得到:
ElementNotVisibleException:元素不可见
然后我对元素进行了一些挖掘(认为我可以通过使用 x、y 坐标来点击绕过)但在使用 .size 和 .location 之后我得到:
{'x': 0, 'y': 0}
{'height': 0, 'width': 0}
如果您能就如何解决这个问题提供任何帮助,我们将不胜感激。
谢谢
【问题讨论】:
-
我想知道为什么 Decline 在
<a>标签内,而 Accept 在<button>标签内。
标签: python css selenium xpath selenium-webdriver