gpt4 book ai didi

java - 为什么 Selenium 对我的代码有两极作用?

转载 作者:行者123 更新时间:2023-12-01 20:00:11 26 4
gpt4 key购买 nike

因此,我在 Eclipse 中为 selenium webdriver 编写了一些代码,以使用“名称”查找元素并向该输入框发送一个单词。此代码在 Chrome 和 Firefox 等其他浏览器上运行良好。

但是由于某种原因,当我在 IE 上运行相同的代码时,它告诉我它无法使用“CSS”找到该元素。这很奇怪,因为我并没有尝试使用“CSS”来识别元素。我正在使用“名称”。

driver.findElement(By.name("ctl00$MainContent$txtFirstName")).sendKeys(name);

错误消息(在 IE 上运行时)显示:

Exception in thread "main" org.openqa.selenium.NoSuchElementException: Unable to find element with css selector == *[name='ctl00$MainContent$txtFirstName']
For documentation on this error, please visit: http://seleniumhq.org/exceptions/no_such_element.html
Build info: version: '3.8.0', revision: '924c4067df', time: '2017-11-30T11:37:19.049Z'
System info: host: 'WORKSTATION', ip: '192.168.1.6', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '1.8.0_151'
Driver info: org.openqa.selenium.ie.InternetExplorerDriver
Capabilities {acceptInsecureCerts: false, browserName: internet explorer, browserVersion: 11, javascriptEnabled: true, pageLoadStrategy: normal, platform: WINDOWS, platformName: WINDOWS, proxy: Proxy(), se:ieOptions: {browserAttachTimeout: 0, elementScrollBehavior: 0, enablePersistentHover: true, ie.browserCommandLineSwitches: , ie.ensureCleanSession: false, ie.fileUploadDialogTimeout: 3000, ie.forceCreateProcessApi: false, ignoreProtectedModeSettings: false, ignoreZoomSetting: false, initialBrowserUrl: http://localhost:33636/, nativeEvents: true, requireWindowFocus: false}, setWindowRect: true, timeouts: {implicit: 0, pageLoad: 300000, script: 30000}}

最佳答案

IEDriver 符合 w3c 标准,这意味着无法通过名称查找。为了弥补这一点,您的选择器将转换为 css,相当于通过 selenium 按名称查找。

参见the w3c spec这表明符合 w3c 的驱动程序不需要按名称查找。

编辑:在 Java code 中找到它的完成位置

关于java - 为什么 Selenium 对我的代码有两极作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48246005/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com