启动功能时
def run(driver_path):
driver = webdriver.Chrome(executable_path=driver_path)
driver.get('https://tproger.ru/quiz/real-programmer/')
button = driver.find_element_by_class_name("quiz_button")
button.click()
run(driver_path)
Run Code Online (Sandbox Code Playgroud)
我收到这样的错误:
def run(driver_path):
driver = webdriver.Chrome(executable_path=driver_path)
driver.get('https://tproger.ru/quiz/real-programmer/')
button = driver.find_element_by_class_name("quiz_button")
button.click()
run(driver_path)
Run Code Online (Sandbox Code Playgroud)
...但我不明白为什么。
我正在为我的 Chrome 版本使用最新版本的WebDriver 。我不知道为什么我得到
<ipython-input-27-c5a7960e105f>:6: DeprecationWarning: executable_path has been deprecated, please pass in a Service object
driver = webdriver.Chrome(executable_path=driver_path)
<ipython-input-27-c5a7960e105f>:10: DeprecationWarning: find_element_by_* commands are deprecated. Please use find_element() instead
button = driver.find_element_by_class_name("quiz_button")
Run Code Online (Sandbox Code Playgroud)
...当文档中存在该命令时。
我正在使用以下代码运行 python 3.9。当我运行脚本时,我收到错误消息。不知道我错过了什么。该元素称为用户名。
File "/Users/user/Documents/PycharmProjects/webscrapping/app/webscraping.py", line 19, in <module>
login = driver.find_element("username") File "/Users/user/Documents/VENV/webscrapping/lib/python3.9/site-packages/selenium/webdriver/remote/webdriver.py", line 1244, in find_element
return self.execute(Command.FIND_ELEMENT, { File "/Users/user/Documents/VENV/webscrapping/lib/python3.9/site-packages/selenium/webdriver/remote/webdriver.py", line 424, in execute
self.error_handler.check_response(response)
File "/Users/user/Documents/VENV/webscrapping/lib/python3.9/site-packages/selenium/webdriver/remote/errorhandler.py", line 247, in check_response
raise exception_class(message, screen, stacktrace) selenium.common.exceptions.InvalidArgumentException: Message: invalid argument: invalid locator (Session info: chrome=98.0.4758.80) Stacktrace: 0 chromedriver 0x0000000102a5c3c9 chromedriver + 5018569 1 chromedriver 0x00000001029e7333 chromedriver + 4539187 2 chromedriver 0x00000001025bca88 chromedriver + 170632 3 chromedriver 0x00000001025f0d81 chromedriver + 384385 4 chromedriver 0x00000001025f14f1 chromedriver + 386289 5 chromedriver …Run Code Online (Sandbox Code Playgroud) python selenium selenium-webdriver findelement selenium-webdriver-python
使用 Selenium,我无法在 Udemy 网站上找到“电子邮件”元素。
这是我尝试过的:
browser.get('https://www.udemy.com/join/login-popup/')
browser.implicitly_wait(5)
email = browser.find_element(By.ID, 'email--1')
print(email)
Run Code Online (Sandbox Code Playgroud)
但NoSuchElementException据我所知,它给出了“email”元素甚至不在 iframe 中的情况。
那么,我怎样才能找到这个特定的元素呢?