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查找元素部分链接文本_Python_Selenium_Click - Fatal编程技术网

Selenium Python查找元素部分链接文本

Selenium Python查找元素部分链接文本,python,selenium,click,Python,Selenium,Click,我试图使用Pythons-Selenium模块来单击一个元素,该元素的链接末尾有文本“xlsx”。下面是我正在使用的代码和元素的详细信息。有人能看看为什么Python找不到这个元素吗 驱动程序。通过部分链接文本(“xlsx”)查找元素。单击()您可以使用CSS选择器: driver.find_element_by_css_selector("a[href*='xlsx']") 如果仍然找不到元素,我建议使用wait语句,以确保元素在与它交互之前可见。您可以使用CSS选择器: driver.f

我试图使用Pythons-Selenium模块来单击一个元素,该元素的链接末尾有文本“xlsx”。下面是我正在使用的代码和元素的详细信息。有人能看看为什么Python找不到这个元素吗


驱动程序。通过部分链接文本(“xlsx”)查找元素。单击()
您可以使用CSS选择器:

driver.find_element_by_css_selector("a[href*='xlsx']")

如果仍然找不到元素,我建议使用wait语句,以确保元素在与它交互之前可见。

您可以使用CSS选择器:

driver.find_element_by_css_selector("a[href*='xlsx']")

如果仍然找不到元素,我建议使用wait语句,以确保元素在与它交互之前可见。

您可以通过类名(class name=PSHYPERLINK)获取它

这应该起作用:

import selenium
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time

url = ''
driver = webdriver.Chrome('/path/to/chromedriver/executable')

if __name__=='__main__':
     driver.get(url)
     time.sleep(3)
     driver.find_element_by_class_name('PSHYPERLINK').click()
查找属性时,请确保使用单数“元素”。比如:

不是:


希望这有帮助。

您可以通过类名(class name=PSHYPERLINK)获取它

这应该起作用:

import selenium
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time

url = ''
driver = webdriver.Chrome('/path/to/chromedriver/executable')

if __name__=='__main__':
     driver.get(url)
     time.sleep(3)
     driver.find_element_by_class_name('PSHYPERLINK').click()
查找属性时,请确保使用单数“元素”。比如:

不是:

希望这有帮助。

请尝试:
驱动程序。通过xpath(“.//a[contains(@href,'xlsx')]”)查找\u元素\u

请尝试:
驱动程序。通过xpath(“.//a[contains(@href,'xlsx')]”)查找元素

感谢您的回复。事实证明,正如@Andersson所提到的,窗口位于不同的框架中


在find_元素之前,我使用以下代码解决了这个问题:driver.switch_to.frame('ptModFrame_0')。

感谢您的回复。事实证明,正如@Andersson所提到的,窗口位于不同的框架中


在find_元素之前,我使用以下代码解决了这个问题:driver.switch_to.frame('ptModFrame_0')。

Python无法找到这个元素。。您是否得到了
NoTouchElementException
?检查链接是否位于
iframe
中它是这样说的:没有这样的元素:无法定位元素。另外,我不知道如何检查它是否是iframe中的链接,但我有一种强烈的感觉,那就是它是。嘿,多亏了你的问题/评论,我发现它找不到元素,因为我不得不切换到frame。因此,当我在使用代码之前添加以下内容时,它起到了作用:driver.switch_to.frame('ptModFrame_0')进展如何?你试过我的答案了吗?嗨,是的,我试过了,但没用。结果是涉及到一个框架,所以我不得不使用“swith_to.frame first.Python无法找到此元素。。您是否得到了
NoTouchElementException
?检查链接是否位于
iframe
中它是这样说的:没有这样的元素:无法定位元素。另外,我不知道如何检查它是否是iframe中的链接,但我有一种强烈的感觉,那就是它是。嘿,多亏了你的问题/评论,我发现它找不到元素,因为我不得不切换到frame。因此,当我在使用代码之前添加以下内容时,它起到了作用:driver.switch_to.frame('ptModFrame_0')进展如何?你试过我的答案了吗?嗨,是的,我试过了,但没用。结果是涉及到了一个框架,所以我不得不先使用“swith_to.frame.Great answer Larry,我还将添加此(XPath)的工作方式与CSS选择器的工作方式类似
。通过_XPath(“/*[contains(text(),'ABC')]”)查找_元素。
很好的回答Larry,我还将添加此(XPath)CSS选择器的工作方式与CSS选择器的工作方式类似。通过xpath(“/*[contains(text(),'ABC')]”查找元素“