Python can';无法通过xpath或css选择器查找文本框元素

Python can';无法通过xpath或css选择器查找文本框元素,python,selenium,input,textbox,element,Python,Selenium,Input,Textbox,Element,我试图在网页的文本框中输入一些文本,下面是截图 “我的代码”适用于除屏幕截图中突出显示的文本框之外的所有其他元素: WebDriverWait(driver, 40).until(EC.visibility_of_element_located((By.XPATH, '//*[@id="main-content-column"]/div/div[3]/div/div[1]/form/div/div/div[2]/input'))).send_keys("aapl") 它看起来不像在一个框架或i

我试图在网页的文本框中输入一些文本,下面是截图

“我的代码”适用于除屏幕截图中突出显示的文本框之外的所有其他元素:

WebDriverWait(driver, 40).until(EC.visibility_of_element_located((By.XPATH, '//*[@id="main-content-column"]/div/div[3]/div/div[1]/form/div/div/div[2]/input'))).send_keys("aapl")
它看起来不像在一个框架或iframe中。请参阅网站的源代码:

<input type="text" autocomplete="off" autocorrect="off" autocapitalize="off" placeholder="Add a symbol..." class="sec-search-box bc-form__add-symbol-input ng-pristine ng-invalid ng-invalid-required ng-touched placeholder" data-ng-model="userEnteredSymbols" data-barchart-clear-input="" required="">


非常感谢。

您可以使用xpath输入值:

WebDriverWait(driver, 40).until(EC.visibility_of_element_located((By.XPATH, "//input[@data-ng-model='userEnteredSymbols']"))).send_keys("aapl")

您使用的是
绝对xpath
,这不是推荐的方法。您可以使用下面的
xpath
webdriver wait

element = WebDriverWait(browser, 30).until(EC.visibility_of_element_located((By.XPATH, "//input[@data-ng-model= 'userEnteredSymbols']")))
element.send_keys("aapl")
你需要在下面输入

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