簡體   English   中英

使用Selenium,Anaconda3,Python 3.6無法找到find_elements

[英]Cant find_elements with Selenium, Anaconda3, Python 3.6

我已經安裝了Anaconda3,可以使用Python 3.6。 現在安裝了Selenium 3.8和Web驅動程序,例如IE。 網絡瀏覽器啟動並顯示google頁面,但是find_element_by_name不起作用。 我調查了該網頁,搜索欄的名稱為“ q”。 你能幫我嗎?

這是我的代碼:

from selenium import webdriver
browser = webdriver.Ie()
browser.get('https://google.de')
elem = browser.find_element_by_name('q')

錯誤代碼:

Traceback (most recent call last):
  File "Testbot.py", line 4, in <module>
    elem = browser.find_element_by_name('q')
  File "C:\Users\User\Anaconda3\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 440, in find_element_by_name
    return self.find_element(by=By.NAME, value=name)

  File "C:\Users\User\Anaconda3\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 858, in find_element
    'value': value})['value']
  File "C:\Users\User\Anaconda3\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 311, in execute
    self.error_handler.check_response(response)
  File "C:\Users\User\Anaconda3\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 237, in check_response
    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.NoSuchElementException: Message: Unable to find element with css selector == [name="q"]

我在您的代碼塊中看不到任何錯誤。 但是,當您使用anaconda3一個簡單的解決方案將是誘使https://google.de上的Search Box WebDriverWait可以如下clickable

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

browser = webdriver.Ie()
browser.get('https://google.de')
elem = WebDriverWait(browser, 10).until(EC.element_to_be_clickable((By.NAME, "q")))

該元素很可能尚未出現在頁面上(尚未加載)。 嘗試添加browser.implicitly_wait(10),以確保在失敗之前重試幾次,或者可以顯式等待該元素。 您應該查看http://selenium-python.readthedocs.io/waits.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM