如何使用Selenium和Python在CodeMirror字段中发送字符
图片: 我试图做的是使脚本写入此对话框,在该对话框中可以写入某些内容,但由于以下错误,我无法始终选择路径:如何使用Selenium和Python在CodeMirror字段中发送字符,python,selenium,selenium-webdriver,webdriverwait,codemirror,Python,Selenium,Selenium Webdriver,Webdriverwait,Codemirror,图片: 我试图做的是使脚本写入此对话框,在该对话框中可以写入某些内容,但由于以下错误,我无法始终选择路径: from selenium import webdriver import time, random import threading url = 'https://npm.runkit.com/' def e(): driver = webdriver.Chrome() driver.get(url) time.sleep(10)
from selenium import webdriver
import time, random
import threading
url = 'https://npm.runkit.com/'
def e():
driver = webdriver.Chrome()
driver.get(url)
time.sleep(10)
driver.find_element_by_xpath('/html/body/div/div/div/div/div/div/div/div[3]/div/div/div/div[1]/div[1]/div[6]/div[1]/div/div/div/div[5]/div/pre/span/span').send_keys('a')
for i in range(1):
t = threading.Thread(target=e)
t.start()
有人能帮我做吗?看来你走错路了 请查找以下代码:
selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element
这将显示如下所示的对话框:
诀窍是复制XPath而不是完整的XPath。这将消除错误消息您似乎复制了错误的路径 请查找以下代码:
selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element
这将显示如下所示的对话框:
诀窍是复制XPath而不是完整的XPath。这将消除错误消息,以便在所需字段内发送字符序列,您需要:
- 使所需帧可用并切换到该帧
- 使所需元素可单击
- 您可以使用以下任一选项:
- 注意:您必须添加以下导入:
driver.get("https://npm.runkit.com/") WebDriverWait(driver, 20).until(EC.frame_to_be_available_and_switch_to_it((By.XPATH,"//iframe[starts-with(@src, 'https://runkit.com/e/iframe')]"))) time.sleep(10) element = WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "div.CodeMirror"))) ActionChains(driver).move_to_element(element).click().send_keys("a").perform()
- 浏览器快照:
工具书类 您可以在以下内容中找到有关的讨论:
- 使所需帧可用并切换到该帧
- 使所需元素可单击
- 您可以使用以下任一选项:
- 注意:您必须添加以下导入:
driver.get("https://npm.runkit.com/") WebDriverWait(driver, 20).until(EC.frame_to_be_available_and_switch_to_it((By.XPATH,"//iframe[starts-with(@src, 'https://runkit.com/e/iframe')]"))) time.sleep(10) element = WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "div.CodeMirror"))) ActionChains(driver).move_to_element(element).click().send_keys("a").perform()
- 浏览器快照:
工具书类 您可以在以下内容中找到有关的讨论: