Selenium Python查找元素部分链接文本
我试图使用Pythons-Selenium模块来单击一个元素,该元素的链接末尾有文本“xlsx”。下面是我正在使用的代码和元素的详细信息。有人能看看为什么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
驱动程序。通过部分链接文本(“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')]”查找元素“