标签: selenium-webdriver

org.openqa.selenium.WebDriverException:未知错误:尝试启动Chrome浏览器时,DevToolsActivePort文件不存在

我正在尝试使用URL启动chrome,浏览器启动,之后它什么都不做.

我在1分钟后看到以下错误:

Unable to open browser with url: 'https://www.google.com' (Root cause: org.openqa.selenium.WebDriverException: unknown error: DevToolsActivePort file doesn't exist
  (Driver info: chromedriver=2.39.562718 (9a2698cba08cf5a471a29d30c8b3e12becabb0e9),platform=Windows NT 10.0.15063 x86_64) (WARNING: The server did not provide any stacktrace information)
Run Code Online (Sandbox Code Playgroud)

我的配置:

Chrome:66 ChromeBrowser:2.39.56

PS在Firefox中一切正常

selenium google-chrome webdriver selenium-chromedriver selenium-webdriver

120
推荐指数
16
解决办法
11万
查看次数

用硒清除textarea中的文本

我有一些测试,我在检查某些字段中的文本无效时是否显示正确的错误消息.有效性的一个检查是某个textarea元素不为空.

如果这个textarea中已有文字,我怎么能告诉selenium清除该字段?

就像是:

driver.get_element_by_id('foo').clear_field()
Run Code Online (Sandbox Code Playgroud)

python selenium selenium-webdriver

119
推荐指数
9
解决办法
15万
查看次数

WebDriver点击()vs JavaScript点击()

故事:

在StackOverflow上,我看到用户报告他们无法通过selenium WebDriver"click"命令单击一个元素,并且可以通过执行脚本单击JavaScript来解决它.

Python中的示例:

element = driver.find_element_by_id("myid")
driver.execute_script("arguments[0].click();", element)
Run Code Online (Sandbox Code Playgroud)

WebDriverJS/Protractor中的示例:

var elm = $("#myid");
browser.executeScript("arguments[0].click();", elm.getWebElement());
Run Code Online (Sandbox Code Playgroud)

问题:

为什么在常规WebDriver点击时没有点击"通过JavaScript"?究竟是什么时候发生这种变通方法的缺点(如果有的话)?

我个人使用这种解决方法而没有完全理解为什么我必须这样做以及它可能导致什么问题.

javascript python selenium selenium-webdriver protractor

119
推荐指数
4
解决办法
3万
查看次数

如何使用Capybara选择下拉选项

我正在尝试使用Capybara(2.1.0)从下拉菜单中选择一个项目.

我想按编号选择(意思是选择第二个,第三个等选项).

我用Google搜索疯狂尝试各种各样的东西,但没有运气.

我可以通过使用值来选择它:

 find("option[value='4c430d62-f1ba-474f-8e8a-4452c55ea0a8']").click
Run Code Online (Sandbox Code Playgroud)

但我不想使用那种方法b/c值会改变,这将使我的测试变得脆弱.

下拉列表的HTML是:

<td class="value">
    <select name="organizationSelect" id="organizationSelect" class="required">
     <option value="NULL">Choose...</option>
     <option value="4c430d62-f1ba-474f-8e8a-4452c55ea0a8">&nbsp;Institution1</option>
     <option value="e1a4efa7-352d-410a-957e-35c8a3b92944">&nbsp;Institution / test</option>
    </select>
</td>
Run Code Online (Sandbox Code Playgroud)

我也试过这个:

  option = find(:xpath, "//*[@id='organizationSelect']/option[2]").text  
  select(option, :from => organizationSelect)
Run Code Online (Sandbox Code Playgroud)

但它会导致此错误:

Ambiguous match, found 2 elements matching option "Institution" (Capybara::Ambiguous)
Run Code Online (Sandbox Code Playgroud)

那么如何从下拉列表中选择第一个,第二个,第三个等选项(使用Capybara)?

ruby capybara selenium-webdriver

118
推荐指数
5
解决办法
9万
查看次数

Selenium - Python - AttributeError:“WebDriver”对象没有属性“find_element_by_name”

我正在尝试让 Selenium 与 Chrome 一起使用,但我不断遇到此错误消息(以及其他类似的错误消息):

AttributeError:“WebDriver”对象没有属性“find_element_by_name”

find_element_by_id()find_element_by_class()等也会出现同样的问题。

我也打不通电话send_keys()

我只是运行ChromeDriver - WebDriver for Chrome - Getting Started中提供的测试代码。

import time

from selenium import webdriver

driver = webdriver.Chrome("C:/Program Files/Chrome Driver/chromedriver.exe")  # Path to where I installed the web driver

driver.get('http://www.google.com/');

time.sleep(5) # Let the user actually see something!

search_box = driver.find_element_by_name('q')

search_box.send_keys('ChromeDriver')

search_box.submit()

time.sleep(5) # Let the user actually see something!

driver.quit()
Run Code Online (Sandbox Code Playgroud)

我使用的是 Google Chrome 版本 103.0.5060.53 并从Downloads下载了 ChromeDriver 103.0.5060.53 。

运行代码时,Chrome 打开并导航到 google.com,但它收到以下输出: …

python selenium google-chrome selenium-chromedriver selenium-webdriver

118
推荐指数
4
解决办法
27万
查看次数

未知错误:即使在chromedriver升级后,调用函数结果也缺少Selenium Send Keys的'value'

发送密钥时我收到以下错误.

结果消息:

System.InvalidOperationException : unknown error: call function result missing 'value'
  (Session info: chrome=65.0.3325.146)
  (Driver info: chromedriver=2.33.506120 (e3e53437346286c0bc2d2dc9aa4915ba81d9023f),platform=Windows NT 10.0.14393 x86_64)
Run Code Online (Sandbox Code Playgroud)

我已将chrome驱动程序更新为2.36,但仍然我的代码搜索2.33?

任何的想法 ?

selenium google-chrome webdriver python-2.7 selenium-webdriver

108
推荐指数
7
解决办法
5万
查看次数

使用Selenium Web Driver检索HTML输入的值

在webapp的HTML中,有以下代码

<input type="text" name="prettyTime" id="prettyTime" class="ui-state-disabled prettyTime"  readonly="readonly">
Run Code Online (Sandbox Code Playgroud)

页面上实际显示的是显示时间的字符串.

在Selenium Web Driver中,我有一个WebElement指向<input>使用的对象

WebElement timeStamp = waitForElement(By.id("prettyTime"));
Run Code Online (Sandbox Code Playgroud)

我希望得到的价值,WebElement换句话说,就是页面上印刷的内容.我尝试了所有的WebElementgetter,并没有找到用户看到的实际值.有帮助吗?谢谢.

java selenium selenium-webdriver

107
推荐指数
7
解决办法
18万
查看次数

Selenium 2.53无法在Firefox 47上运行

我在使用Firefox和WebDriver时遇到错误.

org.openqa.selenium.firefox.NotConnectedException: Unable to connect
to host 127.0.0.1 on port 7055 after 45000 ms.
Run Code Online (Sandbox Code Playgroud)
  • Firefox版本:47.0
  • 硒:2.53.0
  • Windows 10 64位

有人得到类似的问题或任何想法是什么解决方案?它适用于Chrome,但使用Firefox时,没有任何网址被加载.

java firefox selenium selenium-firefoxdriver selenium-webdriver

106
推荐指数
5
解决办法
10万
查看次数

如何使用Selenium WebDriver打开新标签?

如何使用Selenium WebDriver(又名Selenium 2)在现有Firefox浏览器中打开新选项卡?

firefox selenium browser-tab selenium-webdriver

103
推荐指数
9
解决办法
22万
查看次数

如何在Protractor/WebdriverJS中设置默认浏览器窗口大小

出于某种原因,当我在工作中运行我的测试时,浏览器被最大化,但是当我在家中运行它时,它只打开一个宽度约为50%的浏览器窗口.这会导致向下滚动等一些差异,所以我最好让它在运行测试的每台机器上打开一个相同大小的浏览器窗口.最好的方法是什么?(我已经找到了其他语言的一些答案,但还没能使它们适应javascript)

添加

browser.executeScript('window.moveTo(0,0);'+
    'window.resizeTo(screen.width, screen.height);');
Run Code Online (Sandbox Code Playgroud)

什么都不做,(显然window.moveTowindow.resizeTo没有铬支持).

javascript webdriver angularjs selenium-webdriver protractor

103
推荐指数
6
解决办法
7万
查看次数