标签: selenium

在chrome中运行Selenium WebDriver python绑定

我在使用Selenium时遇到了问题.对于我的项目,我必须使用Chrome.但是,在使用Selenium启动它后,我无法连接到该浏览器.

出于某种原因,Selenium无法单独找到Chrome.当我尝试在不包含路径的情况下启动Chrome时会发生这种情况:

Traceback (most recent call last):
  File "./obp_pb_get_csv.py", line 73, in <module>
    browser = webdriver.Chrome() # Get local session of chrome
  File "/usr/lib64/python2.7/site-packages/selenium/webdriver/chrome/webdriver.py", line 46, in __init__
    self.service.start()
  File "/usr/lib64/python2.7/site-packages/selenium/webdriver/chrome/service.py", line 58, in start
    and read up at http://code.google.com/p/selenium/wiki/ChromeDriver")
selenium.common.exceptions.WebDriverException: Message: 'ChromeDriver executable needs to be available in the path.                 Please download from http://code.google.com/p/selenium/downloads/list                and read up at http://code.google.com/p/selenium/wiki/ChromeDriver'
Run Code Online (Sandbox Code Playgroud)

为了解决这个问题,我在启动Chrome的代码中包含了Chromium路径.但是,解释器无法找到要连接的套接字:

Traceback (most recent call last):
  File "./obp_pb_get_csv.py", line 73, in <module>
    browser = webdriver.Chrome('/usr/bin/chromium') # Get local session of …
Run Code Online (Sandbox Code Playgroud)

python linux selenium automated-tests google-chrome

143
推荐指数
5
解决办法
24万
查看次数

等到页面加载Selenium WebDriver for Python

我想刮掉由无限滚动实现的页面的所有数据.以下python代码有效.

for i in range(100):
    driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")
    time.sleep(5)
Run Code Online (Sandbox Code Playgroud)

这意味着每次向下滚动到底部时,我都需要等待5秒钟,这通常足以让页面完成加载新生成的内容.但是,这可能不是时间效率.页面可以在5秒内完成加载新内容.每次向下滚动时,如何检测页面是否已完成加载新内容?如果我能检测到这一点,一旦我知道页面加载完毕,我可以再次向下滚动以查看更多内容.这更节省时间.

python selenium execute-script

142
推荐指数
13
解决办法
27万
查看次数

WebDriver在等待特定条件时刷新网页

我正在寻找更优雅的方式来在测试期间刷新网页(我使用Selenium2).我只是发送F5键,但我想知道驱动程序是否有刷新整个网页的方法这是我的代码

    while(driver.findElements(By.xpath("//*[text() = 'READY']")).size() == 0 )
        driver.findElement(By.xpath("//body")).sendKeys(Keys.F5);
        //element appear after text READY is presented      
    driver.findElement(By.cssSelector("div.column a")).click();    
Run Code Online (Sandbox Code Playgroud)

也许是在手动刷新页面上查找元素的更好解决方案

selenium refresh webdriver selenium-webdriver

140
推荐指数
8
解决办法
29万
查看次数

Webdriver无法在45000 ms后连接到端口7055上的主机127.0.0.1

我有运行测试的盒子.看起来Jenkins会ssh并执行正在运行的特定作业中描述的命令.

在这里,我试图运行我的Selenium Webdriver测试,但它告诉我在启动firefox时出错.最终的想法是完全在这个盒子上运行网络测试,并拍摄一些错误的截图.

我正在使用selenium-java-2.25.jar,firefox 10,linux OS.

有趣的是,我可以手动ssh到框中,临时从盒子上的另一个用户复制魔术cookie(获得X隧道),做一个export DISPLAY=mydisplay:1.0,然后使用ant启动我的硒测试.这将带来firefox和测试就好了.

这里有各种各样的线程似乎有完全相同的问题,我想我已经尝试了大部分.这就是我所做的:

  • 重新启动该框,使用VNC重新登录.

  • 在运行selenium测试之前,在Jenkins中放置一个bash脚本来运行.bash脚本基本上只是做了一个export DISPLAY=mydisplay:1.0.它也执行xclock.这可以工作,因为我可以看到在VNC中显示xclock.

  • iptables已被关闭

  • firefox正确位于/ usr/bin/firefox中

  • sshd_config显示X11Forwarding为true.

  • 据称降级firefox帮助了一些人,但我不想这样做.无论如何,Webdriver应该支持FF 10.

但是,上述都没有解决问题.

它似乎不存在localhost上的端口7055甚至存在:

netstat -an | grep 7055 - 什么都没打印

这是我的/ etc/hosts所说的:

  1 127.0.0.1               localhost.localdomain localhost
  2 ::1             localhost6.localdomain6 localhost6
Run Code Online (Sandbox Code Playgroud)

也许它与localhost有关:7055不存在?我不确定从哪里开始.仍然,为什么错误输出说它display: :0.0在我指定时正在寻找mydisplay:1.0

最后我得到的错误输出:

[testng] org.openqa.selenium.firefox.NotConnectedException: Unable to connect to host 127.0.0.1 on port 7055 after 45000 ms. Firefox console output:
[testng] Xlib: connection to ":0.0" refused by server
[testng] Xlib: No protocol specified …
Run Code Online (Sandbox Code Playgroud)

x11 firefox selenium jenkins selenium-webdriver

138
推荐指数
7
解决办法
31万
查看次数

如何在Selenium Webdriver 2 Python中获取当前URL?

我想在Selenium进行一系列导航后获取当前网址.我知道有一个名为getLocation的命令用于ruby,但我找不到Python的语法.

python selenium selenium-webdriver

137
推荐指数
3
解决办法
14万
查看次数

错误消息:"'chromedriver'可执行文件需要在路径中可用"

我正在使用selenium和python,并从我的网站下载了我的Windows计算机的chromedriver:http://chromedriver.storage.googleapis.com/index.html?path = 2.15 /

下载zip文件后,我将zip文件解压缩到我的下载文件夹.然后我将路径到可执行二进制文件(C:\ Users\michael\Downloads\chromedriver_win32)放入环境变量"路径".

但是,当我运行以下代码时:

  from selenium import webdriver

  driver = webdriver.Chrome()
Run Code Online (Sandbox Code Playgroud)

...我一直收到以下错误消息:

WebDriverException: Message: 'chromedriver' executable needs to be available in the path. Please look at     http://docs.seleniumhq.org/download/#thirdPartyDrivers and read up at http://code.google.com/p/selenium/wiki/ChromeDriver
Run Code Online (Sandbox Code Playgroud)

但是 - 如上所述 - 可执行文件是(!)在路径中...这里发生了什么?

python selenium selenium-chromedriver

126
推荐指数
11
解决办法
24万
查看次数

125
推荐指数
11
解决办法
25万
查看次数

Selenium等到文档准备好了

任何人都可以让我如何让硒等到页面完全加载的时候?我想要一些通用的东西,我知道我可以配置WebDriverWait并调用类似'find'的东西让它等待,但我不会那么远.我只需要测试页面加载成功并转到下一页进行测试.

我在.net中找到了一些东西但是无法在java中使用它...

IWait<IWebDriver> wait = new OpenQA.Selenium.Support.UI.WebDriverWait(driver, TimeSpan.FromSeconds(30.00));
wait.Until(driver1 => ((IJavaScriptExecutor)driver).ExecuteScript("return document.readyState").Equals("complete"));
Run Code Online (Sandbox Code Playgroud)

有人想过吗?

selenium load document wait

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

如何使用Java在Selenium WebDriver中执行鼠标悬停功能?

我想在下拉菜单中执行鼠标悬停功能.当我们将鼠标悬停在菜单上时,它会显示新选项.我尝试使用xpath单击新选项.但无法直接单击菜单.所以,作为我试图将鼠标悬停在下拉菜单上的手动方式,然后将单击新选项.

Actions action = new Actions(webdriver);
WebElement we = webdriver.findElement(By.xpath("//html/body/div[13]/ul/li[4]/a"));
action.moveToElement(we).build().perform();
Run Code Online (Sandbox Code Playgroud)

java selenium mouseover selenium-webdriver

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

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万
查看次数