gpt4 book ai didi

python - 元素不可见异常 : element not visible Python

转载 作者:行者123 更新时间:2023-11-28 02:03:21 25 4
gpt4 key购买 nike

我是 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: element not visible

然后我对元素做了一些挖掘(认为我可以通过使用 x、y 坐标来点击绕过)但是在使用 .size 和 .location 之后我得到:

{'x': 0, 'y': 0}
{'height': 0, 'width': 0}

如果您能就如何解决这个问题提供任何帮助,我们将不胜感激。

谢谢

最佳答案

该错误提示了潜在的问题,selenium 确实找到了它,但它不可见,因此您无法单击它。您可以在单击之前使用 is_displayed 检查可见性。另一种可能性是,如果有另一个隐藏该类的按钮,请尝试查看是否可以使用 $(".btn-green")< 在浏览器控制台 (Control+Shift+J) 中选择一个可见元素

一些可能对您的问题更有效的 xpath:

//button[@type="submit"and text()="Accept"]

//button[@type="submit"and contains(@class, "btn-green")]

关于python - 元素不可见异常 : element not visible Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49178621/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com