无法使用硒单击div按钮

时间:2018-08-06 05:09:44

标签: python selenium web-scraping

我想单击一个实际上是div标签的按钮。我无法点击它。
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.

2 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:1)

如我们截屏所示:

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()