Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 关于selenium和如何使用CSS选择器,我有几个问题,还有一个错误:';selenium.common.exceptions.element单击InterceptedException';_Python_Html_Css_Python 3.x_Selenium - Fatal编程技术网

Python 关于selenium和如何使用CSS选择器,我有几个问题,还有一个错误:';selenium.common.exceptions.element单击InterceptedException';

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

我做了一点挖掘,我想我了解CSS选择器是什么,它们是什么样子,但是使用selenium,我如何在站点中搜索CSS选择器,然后单击它呢?我真的不知道语法应该是什么样子

我也得到了这个错误:

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”进行交互“是的,但我没有成功。我不知道我做错了什么。这也是为什么我想知道我是否可以使用这条线路。”