selenium.common.exceptions.NoSuchElementException:
Message: no such element: Unable to locate element
{"method":"id","selector":"window1"
(Session info: chrome=63.0.3239.108
(Driver info: chromedriver=2.34.522913
(36222509aa6e819815938cbf2709b4849735537c), platform=Linux 4.10.0-42-generic x86_64)
from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
import time
browser = webdriver.Chrome()
browser.set_window_size(640, 480)
browser.get('http://www.foddy.net/Athletics.html?webgl=true')
browser.implicitly_wait(10)
canvas = browser.find_element_by_id("window1")
canvas.click()
while (True):
action = ActionChains(browser)
action.move_to_element(canvas).perform()
canvas.click()
canvas.send_keys("q")
Selenium.common.exceptions.NoSuChelementException通常称为NoSuChelementException
定义为:
exception selenium.common.exceptions.NoSuchElementException(msg=None, screen=None, stacktrace=None)
NoSuchelementException
基本上在以下两种情况下引发:
>
使用时:
webdriver.find_element_by_*("expression")
//example : my_element = driver.find_element_by_xpath("xpath_expression")
element.find_element_by_*("expression")
//example : my_element = element.find_element_by_*("expression")
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"xpath","selector":".//*[@id='create-portal-popup']/div[4]/div[1]/button[3]"}
(Session info: chrome=61.0.3163.100)
(Driver info: chromedriver=2.32.498550 (9dec58e66c31bcc53a9ce3c7226f0c1c5810906a),platform=Windows NT 10.0.10240 x86_64)
在这里,您将找到关于如何检查Selenium3.6中的元素的详细讨论,因为firebug不再是FF56的选项了?
使用execute_script()
方法滚动元素以查看如下:
elem = driver.find_element_by_xpath("element_xpath")
driver.execute_script("arguments[0].scrollIntoView();", elem)
在这里,您将找到关于使用Selenium在Python中滚动到页面顶部的详细讨论
elem = driver.find_element_by_xpath("element_xpath")
driver.execute_script("arguments[0].removeAttribute('style')", elem)
elem.send_keys("text_to_send")
driver.switch_to.frame("iframe_name")
driver.switch_to.frame("iframe_id")
driver.switch_to.frame(1) // 1 represents frame index
element = WebDriverWait(driver, 20).until(expected_conditions.presence_of_element_located((By.XPATH, "element_xpath']")))
要等待visibility_of_element_locited:
element = WebDriverWait(driver, 20).until(expected_conditions.visibility_of_element_located((By.CSS_SELECTOR, "element_css")
等待element_to_be_clickable:
element = WebDriverWait(driver, 20).until(expected_conditions.element_to_be_clickable((By.LINK_TEXT, "element_link_text")))
您会看到NoSuchelementException
,因为id定位器没有唯一地标识画布。要标识画布和click()
,必须等待画布click
,并使用以下代码块:
WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//canvas[@id='window1']"))).click()
问题内容: 我正在尝试在Chrome上使用Selenium 玩QWOP,但我一直收到以下错误: 在使用以下代码时: 相同的代码在Firefox上可以完美地工作,但是由于我想使用chrome的功能以无头模式运行webgl游戏,因此我无法真正切换到Firefox。 任何解决方法可以使它正常工作? 问题答案: NoSuchElementException selenium.common.exceptio
最近买了一台mac,能够毫无问题地运行Mozilla,但在安装Chrome扩展和运行硒时遇到了麻烦。有人能指导我在Mac Chrome上安装扩展和运行硒的过程吗?
本文向大家介绍linux 下selenium chrome使用详解,包括了linux 下selenium chrome使用详解的使用技巧和注意事项,需要的朋友参考一下 安装chrome 安装chromedriver 淘宝源(推荐) 编写selenium自动化脚本 踩到的坑一: 中文乱码,解决方法: centos: ubuntu: 踩到的坑二: 不能截图,抛time out异常 selenium.c
在运行selenium时,我需要从web商店加载一个chrome扩展。在我的研究中,我只发现了如何从本地机器加载扩展。 selenium是否可以从Web存储加载扩展?
问题内容: 我下载了ChromeDriver,默认情况下,浏览器语言为英语,我需要将其更改为西班牙语,但我一直无法使用。 问题答案: 您可以通过添加Chrome的命令行开关 “ –lang”来实现。 基本上,所有你需要开始与ChromeOption说法,见API的详细信息。 以下是有关如何使用Selenium以西班牙语启动Chrome的C#代码的工作示例。 Java代码应该几乎相同(未经测试)。请
问题内容: 我的脚本必须使用一组凭据登录到站点,然后在某些下拉菜单中导航以选择报告。选择报告后,将弹出一个新窗口,必须在其中调整参数以生成报告。设置完参数后,相同的弹出窗口将以生成的PDF格式刷新报告,并使用Chrome的内置PDF查看器显示。我的印象是,将某些选项传递给webdriver会禁用此PDF查看器,而只是下载文件,但是PDF查看器仍在显示,不会自动下载任何内容。我当然会丢失某些东西,或