繁体   English   中英

无法通过 xpath 或 css 选择器找到文本框元素

[英]can't find text box element by xpath or css selector

我正在尝试在网页上的文本框中输入一些文本,这是Enter Symbol的屏幕截图

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

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")

您正在使用Absolute xpath ,这不是推荐的方式。 您可以尝试使用以下xpathwebdriver 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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM