Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/293.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 Webdriver未能单击。不确定为什么_Python_Selenium - Fatal编程技术网

Python Selenium Webdriver未能单击。不确定为什么

Python Selenium Webdriver未能单击。不确定为什么,python,selenium,Python,Selenium,我有以下代码 if united_states_hidden is not None: print("Country removed successfully") time.sleep(10) print("type(united_states_hidden) = ") print(type(united_states_hidden)) print("united_states_hidden.text = " + united_states_hidden.text) print("uni

我有以下代码

if united_states_hidden is not None:
    print("Country removed successfully")
time.sleep(10)
print("type(united_states_hidden) = ")
print(type(united_states_hidden))
print("united_states_hidden.text = " + united_states_hidden.text)
print("united_states_hidden.id = " + united_states_hidden.id)
print(united_states_hidden.is_displayed())
print(united_states_hidden.is_enabled())
united_states_hidden.click()
控制台的输出如下所示:

Country removed successfully
type(united_states_hidden) = 
<class 'selenium.webdriver.remote.webelement.WebElement'>
united_states_hidden.text = United States
united_states_hidden.id = ccea7858-6a0b-4aa8-afd5-72f75636fa44
True
True
已成功删除国家/地区
类型(美国隐藏)=
united\u states\u hidden.text=美国
美国隐藏id=ccea7858-6a0b-4aa8-afd5-72f75636fa44
真的
真的

据我所知,这应该是可行的,因为它是一个可点击的web元素,但是,没有点击传递到该元素。任何帮助都将不胜感激,因为我似乎在其他地方找不到任何东西。我试图单击的元素位于选择器框中

似乎是一个有效的
WebElement
,因为您可以打印所有信息。就像你在例子中做的那样

可能所定位的元素不是要单击的元素,因此单击可能会成功,但不会真正单击任何内容

您可以尝试使用Javascript单击,看看这是否有帮助:

driver.execute_script("arguments[0].click();", united_states_hidden)

如果这对您不起作用,我们可能需要查看页面上的HTML以及您用于查找
united\u states\u hidden
的定位器策略,以便我们继续操作。

这是什么类型的元素?当你说没有点击被传递时,你怎么知道呢?也许这个元素没有监听点击事件。尝试外部或内部元素,看看是否有任何变化?如果你对这个答案投反对票,请留下评论,让我知道如何改进。Javascript点击是一个合法的解决方案,在过去我已经使用过无数次了,这就是为什么我在这里发布它。是的,这是我尝试的第一件事,但它不起作用。我已经找到了解决这个问题的另一种方法,但我仍然对为什么会出现这个问题感兴趣,因为没有传递错误消息,等等。我不确定该元素的名称,但它是双选择器框中的一个选项,在双选择器框中,您可以单击任意一侧的选项,然后有箭头将其移动到选定框中或从选定框中移动。您可以分享您如何找到解决该问题的方法吗?如果没有任何用于上下文的HTML页面,很难想象这里真正的问题是什么。我的最佳猜测是——假设您已经找到了一个有效的web元素,但是单击并没有到达您期望的位置——那么您找到的web元素可能不是正确的。通常,当这种情况发生在我身上时,页面上有两个几乎相同的元素,Selenium为我定位了错误的元素,这会产生类似于此场景的意外行为。很抱歉uber回复太晚,但我没有找到解决方法,我不得不从其他页面提取数据。