【发布时间】:2018-09-30 06:26:12
【问题描述】:
你好
我之前在 python 上创建了一些 selenium 脚本,它们运行良好,但不知道为什么它不能在网站上运行。 我正在尝试单击在该网站上加载“DISQUS”时出现的元素。 Disqus 是网站加载后加载的评论部分。
所以我使用了 sleep 方法但它不起作用,所以我尝试使用 python IDLE 来逐行执行代码,这样我就可以在 Disqus 注释部分完全可用但仍然可以运行定位代码得到同样的错误。 “Webdriver 无法定位元素”
这是我的代码。
import selenium
from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
browser = webdriver.Chrome('E:\\ChromeDriver\\chromedriver_win32\\chromedriver.exe')
browser.get('https://www.eloanus.com/customers-review')
dicuss = browser.find_element_by_class_name('textarea')
print(dicuss)
错误,我知道了。
Traceback (most recent call last):
File "C:\Users\Acer-573G\PycharmProjects\Appium\venv\import selenium.py", line 12, in <module>
dicuss = browser.find_element_by_class_name('textarea')
File "C:\python3.5\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 563, in find_element_by_class_name
return self.find_element(by=By.CLASS_NAME, value=name)
File "C:\python3.5\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 966, in find_element
'value': value})['value']
File "C:\python3.5\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 320, in execute
self.error_handler.check_response(response)
File "C:\python3.5\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 242, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"class name","selector":"textarea"}
(Session info: chrome=69.0.3497.100)
(Driver info: chromedriver=2.41.578737 (49da6702b16031c40d63e5618de03a32ff6c197e),platform=Windows NT 10.0.17134 x86_64)
我附上了来自该网站的检查元素(类)的屏幕截图。
我是编程新手,如有任何帮助,将不胜感激。
【问题讨论】:
-
click on a element点击哪个元素? -
元素在嵌套的iframe中,切换到frame,交互前
-
感谢您的帮助@Newcontributor 和 Cruisepandey 两个答案都是正确的。
标签: python selenium iframe disqus webdriverwait