标签: findelement

find_element_by_* 命令在 Selenium 中已弃用

启动功能时

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 selenium webdriver selenium-webdriver findelement

92
推荐指数
2
解决办法
13万
查看次数

selenium.common.exceptions.InvalidArgumentException:消息:无效参数:使用 find_element('username') Selenium Python 时出现无效定位器错误

我正在使用以下代码运行 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

4
推荐指数
1
解决办法
3万
查看次数

无法使用 Selenium 找到元素

使用 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 中的情况。

那么,我怎样才能找到这个特定的元素呢?

python selenium findelement

3
推荐指数
1
解决办法
126
查看次数