无法使用selenium单击div按钮

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了无法使用selenium单击div按钮相关的知识,希望对你有一定的参考价值。

I want to click a button which is actually a div tag. I am unable to click on it.
from selenium import webdriver

url = "https://www.qoo10.sg/item/LAPTOP-SCREEN-PROTECTOR-SCREEN-GUARD-FOR-13-14-15-INCHES-2ND/410235318"

driver = webdriver.Firefox()
driver.get(url)

elem = driver.find_element_by_class_name('selectArea').click()

当我运行这个程序时,我去了这个错误

selenium.common.exceptions.ElementNotInteractableException: Message: Element <div id="ship_to_outer" class="selectArea"> could not be scrolled into view.
答案

正如这个截图我们告诉:

img

有4个元素,类名为selectArea。而第一个是看不见的。这就是你得到的原因:

selenium.common.exceptions.ElementNotInteractableException: Message: Element <div id="ship_to_outer" class="selectArea"> could not be scrolled into view.

因此,首先您必须准确指定要单击的元素。例如第一次下拉:

img2

有ID,可以这样找到:

driver.find_element_by_id('inventory_outer_0').click()
另一答案

有4个按钮具有相同的类名"ship_to_outer" - 第一个是隐藏的,因此您无法单击它。请尝试以下代码

driver.find_element_by_xpath('//div[@class="selectArea" and not(@id="ship_to_outer")]').click()

以上是关于无法使用selenium单击div按钮的主要内容,如果未能解决你的问题,请参考以下文章

Selenium 在使用 Python 时无法单击“获取数据”按钮

selenium.common.exceptions.NoSuchElementException:消息:没有这样的元素:尝试使用 selenium 单击下一步按钮时无法找到元素

无法单击跨度Selenium Python中的单选按钮

单击按钮时刷新片段视图

无法单击跨度 Selenium Python 内的单选按钮

NoSuchElementException:消息:尝试通过 Selenium 和 Python 单击 VISA 按钮时无法找到元素