Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.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
Selenium-Python-find_element_by_link_text不确定是什么';这是不对的_Python_Selenium_Selenium Webdriver_Webdriver - Fatal编程技术网

Selenium-Python-find_element_by_link_text不确定是什么';这是不对的

Selenium-Python-find_element_by_link_text不确定是什么';这是不对的,python,selenium,selenium-webdriver,webdriver,Python,Selenium,Selenium Webdriver,Webdriver,这是我第一次同时使用Python和Selenium,我正在尝试选择并点击这个网站导航栏的一个元素——stockfetcher.com 我想单击导航栏上的MyFilters选项卡。检查完元素后,我看到该元素的HTML代码是 这就是我想要做的 驱动程序。通过链接文本(“MyFilters”)查找元素。单击() 我得到了这个错误 AttributeError:“非类型”对象没有属性“单击” 知道怎么了吗?我在网上看到的大多数示例中,标签内的任何内容都没有“”标记。这是不是把我搞砸了?链接文本有时对你

这是我第一次同时使用Python和Selenium,我正在尝试选择并点击这个网站导航栏的一个元素——stockfetcher.com

我想单击导航栏上的MyFilters选项卡。检查完元素后,我看到该元素的HTML代码是

这就是我想要做的

驱动程序。通过链接文本(“MyFilters”)查找元素。单击()

我得到了这个错误

AttributeError:“非类型”对象没有属性“单击”


知道怎么了吗?我在网上看到的大多数示例中,标签内的任何内容都没有“”标记。这是不是把我搞砸了?

链接文本有时对你发送给它的内容非常挑剔,我发现你必须匹配实际链接显示的内容,而不是href后面的值。由于该站点显示的是
MyFilters
,请尝试执行以下操作:

driver.find_element_by_link_text('MyFilters').click()
过滤器之后没有空格。我在我这边做了测试,它似乎起作用了


此外,该错误与您作为示例给出的错误不匹配,它将在抛出
NoneType
has no click()事件之前抛出
NoSuchElementException
。无论哪种方式,上面的内容都应该适合您。

链接文本有时对您发送给它的内容非常挑剔,我发现您必须匹配实际链接显示的内容,而不是href后面的值。由于该站点显示的是
MyFilters
,请尝试执行以下操作:

driver.find_element_by_link_text('MyFilters').click()
过滤器之后没有空格。我在我这边做了测试,它似乎起作用了


此外,该错误与您作为示例给出的错误不匹配,它将在抛出
NoneType
has no click()事件之前抛出
NoSuchElementException
。无论采用哪种方式,上述方法都应该适用。

该错误意味着您无法调用
。单击()
,如果您将
。单击()
替换为
。fsghudghur()
,您将收到相同的错误。任何
find\u element\u by\u link\u text
返回的函数都没有
click()
函数。请尝试运行
type(driver.find\u element\u by\u link\u text(“MyFilters”)
。看看返回的是不是你想要的。还可以尝试使用
print(driver.find\u element\u by\u link\u text(“MyFilters”)
打印它。这也很好吗?@EthanK我在代码中添加了这些,但我在控制台上没有看到任何东西。那么link_text的方法在这里不起作用了?好吧,如果你没有看到任何东西,那么它就没有运行,或者你没有看到控制台。如果出现错误,
.click()
在这里不起作用,但是
.click()
在任何地方都不起作用。检查文档以确保
.click()
存在,如果不存在,请确保您使用的是正确的版本。@EthanK.click()确实有效。因为在此之前,我必须单击按钮才能登录。实际上,我在控制台=>>selenium.common.exceptions.NoSuchElementException:Message:没有这样的元素:无法定位元素:{“方法”:“链接文本”,“选择器”:“MyFilters”}。该错误意味着您无法调用
。单击()
,如果将
替换为
。单击()
,您将得到相同的错误。任何
find\u element\u by\u link\u text
返回的函数都没有
click()
函数。请尝试运行
type(driver.find\u element\u by\u link\u text(“MyFilters”)
。看看返回的是不是你想要的。还可以尝试使用
print(driver.find\u element\u by\u link\u text(“MyFilters”)
打印它。这也很好吗?@EthanK我在代码中添加了这些,但我在控制台上没有看到任何东西。那么link_text的方法在这里不起作用了?好吧,如果你没有看到任何东西,那么它就没有运行,或者你没有看到控制台。如果出现错误,
.click()
在这里不起作用,但是
.click()
在任何地方都不起作用。检查文档以确保
.click()
存在,如果不存在,请确保您使用的是正确的版本。@EthanK.click()确实有效。因为在此之前,我必须单击按钮才能登录。实际上,我在控制台=>>selenium.common.exceptions.NoSuchElementException:消息:没有这样的元素:无法定位元素:{“方法”:“链接文本”,“选择器”:“MyFilters”}好的,这样就行了!但如果我在“登录”单击后立即放置它,它将无法工作。但是,如果我在它们之间插入另一个find_element命令,那么第二个命令将起作用。可能是因为它在加载页面时试图单击?可能是这样,我会使用
WebDriverWait
条件来确保您的元素首先可见。这篇文章对解决这个问题很有帮助,但听起来点击的问题已经解决了!这很好,好了,这就行了!但如果我在“登录”单击后立即放置它,它将无法工作。但是,如果我在它们之间插入另一个find_element命令,那么第二个命令将起作用。可能是因为它在加载页面时试图单击?可能是这样,我会使用
WebDriverWait
条件来确保您的元素首先可见。这篇文章对解决这个问题很有帮助,但听起来点击的问题已经解决了!那很好。