Python 关于selenium和如何使用CSS选择器,我有几个问题,还有一个错误:';selenium.common.exceptions.element单击InterceptedException';
我做了一点挖掘,我想我了解CSS选择器是什么,它们是什么样子,但是使用selenium,我如何在站点中搜索CSS选择器,然后单击它呢?我真的不知道语法应该是什么样子 我也得到了这个错误:Python 关于selenium和如何使用CSS选择器,我有几个问题,还有一个错误:';selenium.common.exceptions.element单击InterceptedException';,python,html,css,python-3.x,selenium,Python,Html,Css,Python 3.x,Selenium,我做了一点挖掘,我想我了解CSS选择器是什么,它们是什么样子,但是使用selenium,我如何在站点中搜索CSS选择器,然后单击它呢?我真的不知道语法应该是什么样子 我也得到了这个错误: selenium.common.exceptions.ElementClickInterceptedException: Message: element click intercepted: Element <div class="echo-component-EchoButton-3T1X
selenium.common.exceptions.ElementClickInterceptedException: Message: element click intercepted:
Element <div class="echo-component-EchoButton-3T1Xv">...</div> is not clickable at point (95, 328).
Other element would receive the click: <div id="background" style="opacity: 1; overflow-y: auto; position:
absolute; top: 0px; left: 0px; height: 100%; width: 100%; transition: opacity 0.3s ease 0s; display: flex;
align-items: baseline;">...</div>
selenium.common.exceptions.element点击截获异常:消息:element点击截获:
元素。。。在点(95328)处不可单击。
其他元素将收到单击:。。。
从我读到的内容来看,“接收点击的其他元素”看起来像一个CSS选择器,这就是为什么我想知道如何使用它们并能够与它们交互。我对selenium还不熟悉,并且阅读HTML和CSS,所以如果我错了,请纠正我。任何帮助都将不胜感激 据我所见,
元素。。。在点(95328)处不可单击。
这可能意味着该元素尚未准备好单击。这可以通过在单击元素之前为元素留出一些时间来解决
您可以尝试阅读或使用以下内容:
WebDriverWait
sleep
这两种方法都会给元素留出一些准备时间
对于selenium.common.exceptions.element单击InterceptedException
,我通常会在有问题的区域中包含一些异常处理。可以在这里阅读:https://www.guru99.com/exception-handling-selenium.html
我通常所做的示例:
try:
wait.until(EC.visibility_of_element_located(
(By.CSS_SELECTOR, ".fr66n .\\_8-yf5"))).click()
except TimeoutException:
next_button = self.driver.find_element_by_link_text("Next")
next_button.click()
else:
sleep(1)
next_button = self.driver.find_element_by_link_text("Next")
next_button.click()
您也可以尝试使用selenium IDE。真的帮助我更好地理解这个过程。从我所看到的情况来看,
元素。。。在点(95328)处不可单击。
这可能意味着该元素尚未准备好单击。这可以通过在单击元素之前为元素留出一些时间来解决
您可以尝试阅读或使用以下内容:
WebDriverWait
sleep
这两种方法都会给元素留出一些准备时间
对于selenium.common.exceptions.element单击InterceptedException
,我通常会在有问题的区域中包含一些异常处理。可以在这里阅读:https://www.guru99.com/exception-handling-selenium.html
我通常所做的示例:
try:
wait.until(EC.visibility_of_element_located(
(By.CSS_SELECTOR, ".fr66n .\\_8-yf5"))).click()
except TimeoutException:
next_button = self.driver.find_element_by_link_text("Next")
next_button.click()
else:
sleep(1)
next_button = self.driver.find_element_by_link_text("Next")
next_button.click()
您也可以尝试使用selenium IDE。确实帮助我更好地理解这个过程。我确实添加了一个时间。睡眠,但它仍然不起作用,我觉得这很奇怪,所以我觉得我做错了什么。但是您的try-except块的语法与我在教程中看到的有点不同,您能告诉我您导入了什么使您的答案成为可能吗?出于好奇,你怎么称呼CSS选择器,这是我不理解的,它是在选择器本身的某个地方还是在同一个div中?(不太熟悉术语)。谢谢你的回复@Kitten!是的,那个街区是我手边的东西。对于您来说,情况应该是:
除了element ClickInterceptedException:
,基本上意味着在引发此异常的情况下,执行一些操作。我从selenium.common.exceptions导入元素ClickInterceptedException调用了。您可以在这里找到大多数异常:https://www.geeksforgeeks.org/exceptions-selenium-python/
我还建议您尝试selenium IDE,它确实帮助我找到了那些CSS选择器。我确实添加了一个time.sleep,但它仍然不起作用,我认为这很奇怪,所以我认为我做错了什么。但是您的try-except块的语法与我在教程中看到的有点不同,您能告诉我您导入了什么使您的答案成为可能吗?出于好奇,你怎么称呼CSS选择器,这是我不理解的,它是在选择器本身的某个地方还是在同一个div中?(不太熟悉术语)。谢谢你的回复@Kitten!是的,那个街区是我手边的东西。对于您来说,情况应该是:除了element ClickInterceptedException:
,基本上意味着在引发此异常的情况下,执行一些操作。我从selenium.common.exceptions导入元素ClickInterceptedException调用了。您可以在这里找到大多数异常:https://www.geeksforgeeks.org/exceptions-selenium-python/
我还建议您尝试selenium IDE,你的div
在一些可点击的东西里面,比如a
或按钮
?@pguardiario这就是小x图标用来关闭某个挡住我的盒子的地方。我尝试与“ico close”id交互,但没有成功。我不知道我做错了什么。这也是为什么我想知道我是否可以使用“你的div
是否在可点击的a
或按钮
的内部?”这是小x图标用来关闭挡我路的某个框的地方。我试着与“ico close”进行交互“是的,但我没有成功。我不知道我做错了什么。这也是为什么我想知道我是否可以使用这条线路。”