小编Deb*_*anB的帖子

使用Selenium WebDriver截取屏幕截图

有谁知道是否可以使用Selenium WebDriver截取屏幕截图?(注:不是Selenium RC)

selenium selenium-webdriver ashot takesscreenshot selenium-shutterbug

478
推荐指数
16
解决办法
52万
查看次数

未知错误:即使在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万
查看次数

SessionNotCreatedException:消息:会话未创建:此版本的 ChromeDriver 仅支持 Chrome 版本 81

我目前是机器人框架的新手。我目前正在使用最新的 chrome 和 chromedriver 窗口版本,它是 80,但是当我尝试运行测试时,它给出消息“SessionNotCreatedException:消息:未创建会话:此版本的 ChromeDriver 仅支持 Chrome pycharm 中的版本 81”,但目前仅提供 81 的测试版。我试过卸载所有东西并重新安装它,但没有任何效果任何人都可以帮助我解决这个问题。谢谢!

截图如下: 1

2

selenium google-chrome robotframework selenium-chromedriver selenium-webdriver

99
推荐指数
9
解决办法
24万
查看次数

cssSelector和Xpath有什么区别,哪个在跨浏览器测试的性能方面更好?

我正在使用Selenium WebDriver 2.25.0进行多语言Web应用程序,主要测试页面内容(适用于阿拉伯语,英语,俄语等不同语言).

对于我的应用程序,根据性能更好,并确保它应该支持所有的浏览器(即IE 7,8,9,FF,Chrome等).

提前感谢您的宝贵建议.

selenium xpath webdriver css-selectors selenium-webdriver

71
推荐指数
3
解决办法
9万
查看次数

org.openqa.selenium.WebDriverException:未知错误:调用函数结果缺少'value'

Sendkeys无法正常工作.请帮我解决这个问题..

WebElement username = driver.findElement(By.xpath("//*[@id='username']"));      
username.sendKeys("123456");
Run Code Online (Sandbox Code Playgroud)

安慰:

Exception in thread "main" org.openqa.selenium.WebDriverException: unknown error: call function result missing 'value'

  (Session info: chrome=65.0.3325.31)
  (Driver info: chromedriver=2.33.506120 (e3e53437346286c0bc2d2dc9aa4915ba81d9023f),platform=Windows NT 6.1.7601 SP1 x86) 
(WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 0 milliseconds

Build info: version: '3.8.1', revision: '6e95a6684b', time: '2017-12-01T19:05:32.194Z'
System info: host: 'NEW-PC', ip: '192.168.0.103', os.name: 'Windows 7', os.arch: 'x86', os.version: '6.1', java.version: '1.8.0_161'
Run Code Online (Sandbox Code Playgroud)

司机信息:

org.openqa.selenium.chrome.ChromeDriver

Capabilities {acceptSslCerts: true, applicationCacheEnabled: false, browserConnectionEnabled: false, browserName: chrome, chrome: …
Run Code Online (Sandbox Code Playgroud)

java selenium google-chrome selenium-chromedriver selenium-webdriver

63
推荐指数
2
解决办法
8万
查看次数

如何从Selenium获取元素的属性?

我在Python中使用Selenium.我想得到.val()一个<select>元素,并检查它是我期望的.

这是我的代码:

def test_chart_renders_from_url(self):
    url = 'http://localhost:8000/analyse/'
    self.browser.get(url)
    org = driver.find_element_by_id('org')
    # Find the value of org?
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?Selenium文档似乎有很多关于选择元素但没有关于属性的内容.

python selenium webdriver getattribute selenium-webdriver

61
推荐指数
3
解决办法
10万
查看次数

vcvarsall.bat需要python来编译visual studio 2015中的缺失(第14节)

我试图在Windows 10下使用Visual Studio 2015终极安装在python 3.5中安装numpy.

短版本:vcvarsall.batvs14文件C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC夹文件夹中缺少文件.为什么?

长版:跑步pip install numpy给我这个错误error: Unable to find vcvarsall.bat

研究这个错误让我得到了几个stackoverflow答案,帮助我弄清楚python需要c ++编译器来编译一些包.并且它需要使用用于编译python 3.5的相同版本的编译器来执行此操作( 错误:无法找到vcvarsall.bat).我的python是使用[MSC v.1900 64位(AMD64)]编译的 - 这是vs 14(visual studio 2015)

与我的研究,我从中学到了进一步的运动: PIP安装提示错误:无法找到vcvarsall.batget_build_version()$python_install_prefix/Lib/distutils/msvc9compiler.py回报的VS是768,16可以用来寻找路径的版本,vcvarsall.bat 对于我这个方法返回14,所以一切都正确.

现在,当我查看文件夹时C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC,文件vcvarsall.bat丢失了.

但是当我查看文件夹时,C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC有一个vcvarsall.bat.

为什么vs 14.0中缺少vcvarsall.bat?

pip python-2.x visual-c++ python-3.x visual-studio-2015

52
推荐指数
2
解决办法
6万
查看次数

使用webdriver滚动到元素?

我仍然在学习并回答我的一个问题:在这里,我被告知它可能是因为有问题的元素不在视野中.

我查看了文档,所以这里是最相关的答案:这里

您可以使用"org.openqa.selenium.interactions.Actions"类移动到元素:

WebElement element = driver.findElement(By.id("my-id"));
Actions actions = new Actions(driver);
actions.moveToElement(element);
## actions.click();
actions.perform();
Run Code Online (Sandbox Code Playgroud)

当我尝试使用上面的内容滚动到元素时:它说WebElement没有定义.

我想这是因为我没有导入相关模块.有人可以指出我应该导入的内容吗?

编辑:正如alecxe所指出的,这是java代码.

但与此同时,在试图弄清楚它一段时间之后.我找到了WebElement的导入方法:

from selenium.webdriver.remote.webelement import WebElement
Run Code Online (Sandbox Code Playgroud)

可能会帮助像我这样的人.

如何,这也是一个很好的教训,IMO:

去:文档

class selenium.webdriver.remote.webelement.WebElement(parent, id_, w3c=False)
Run Code Online (Sandbox Code Playgroud)

需要分成上面提到的命令格式.

python selenium python-3.x selenium-webdriver

52
推荐指数
4
解决办法
6万
查看次数

从渲染器接收消息超时:通过 Selenium Java 使用 ChromeDriver 和 Chrome v80 的 0.100 条日志消息

我们最近使用 ChromeDriver v80.0.3987.16 和 Chrome v80.0.3987.87(官方版本)(64 位)升级了测试环境,升级后,即使是最小的程序也会产生大量以下严重日志:

[1581082019.282][SEVERE]: Timed out receiving message from renderer: 0.100
[1581082020.245][SEVERE]: Timed out receiving message from renderer: 0.100
Run Code Online (Sandbox Code Playgroud)

早些时候,在使用 ChromeDriver v79.0 / Chrome v79.0 组合之前,偶尔会观察到这些消息。

最小代码块:

public class chromeDemo 
{
    public static void main(String[] args) 
    {
            System.setProperty("webdriver.chrome.driver", "C:\\Utility\\BrowserDrivers\\chromedriver.exe");
            WebDriver driver =  new ChromeDriver();
            driver.get("https://www.google.com/");
            driver.quit();
    }
}
Run Code Online (Sandbox Code Playgroud)

控制台输出:

Starting ChromeDriver 80.0.3987.16 (320f6526c1632ad4f205ebce69b99a062ed78647-refs/branch-heads/3987@{#185}) on port 9194
Only local connections are allowed.
Please protect ports used by ChromeDriver and related test frameworks to prevent access by malicious …
Run Code Online (Sandbox Code Playgroud)

selenium google-chrome renderer chromium selenium-chromedriver

49
推荐指数
2
解决办法
5万
查看次数

如何配置ChromeDriver以通过Selenium在无头模式下启动Chrome浏览器?

我正在研究一个用于网络搜索的python脚本,并且已经走上了使用Chromedriver作为其中一个软件包的道路.我希望这在没有任何弹出窗口的情况下在后台运行.我在chromedriver上使用'headless'选项,它似乎没有显示浏览器窗口,但是,我仍然看到.exe文件正在运行.看到我正在谈论的截图.截图

这是我用来启动ChromeDriver的代码:

options = webdriver.ChromeOptions()
options.add_experimental_option("excludeSwitches",["ignore-certificate-errors"])
options.add_argument('headless')
options.add_argument('window-size=0x0')
chrome_driver_path = "C:\Python27\Scripts\chromedriver.exe"
Run Code Online (Sandbox Code Playgroud)

我试图做的事情是将选项中的窗口大小改为0x0,但我不确定是什么,因为.exe文件仍然弹出.

有关如何做到这一点的任何想法?

我使用的是Python 2.7 FYI

python selenium selenium-chromedriver selenium-webdriver google-chrome-headless

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