Questions tagged «selenium-webdriver»

Selenium-WebDriver提供了WebDriver API,用于控制使用不同编程语言(“语言绑定”)的浏览器。使用此标签时,还请添加所用编程语言的标签。

3
如何从硒中获取元素的属性?
我正在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? 我怎样才能做到这一点?Selenium文档似乎有很多关于选择元素的内容,但是与属性无关。

18
Selenium错误-到远程WebDriver的HTTP请求在60秒后超时
我已经使用Selenium数月了,我们正在使用它来自动化一些内部测试过程。脚本运行良好。我最近使用FF 27.01升级到了C#2.40.0 webdriver,我们的脚本现在在随机位置失败,并出现以下错误。 [Portal.SmokeTest.SmokeRunTest.Booking] TearDown method failed. OpenQA.Selenium.WebDriverException : The HTTP request to the remote WebDriver server for URL htt(p)://localhost:7055/hub/session/56e99e88-ba17-4d12-bef1-c6a6367ccc2f/element timed out after 60 seconds. ----> System.Net.WebException : The operation has timed out TearDown : OpenQA.Selenium.WebDriverException : The HTTP request to the remote WebDriver server for URL htt(p)://localhost:7055/hub/session/56e99e88-ba17-4d12-bef1-c6a6367ccc2f/window timed out …


6
python selenium单击按钮
我是python selenium的新手,我尝试单击具有以下html结构的按钮: <div class="b_div"> <div class="button c_button s_button" onclick="submitForm('mTF')"> <input class="very_small" type="button"></input> <div class="s_image"></div> <span> Search </span> </div> <div class="button c_button s_button" onclick="submitForm('rMTF')" style="margin-bottom: 30px;"> <input class="v_small" type="button"></input> <span> Reset </span> </div> </div> 我希望能够同时单击上面的Search和Reset按钮(显然是单独单击)。 我尝试了几件事,例如: driver.find_element_by_css_selector('.button .c_button .s_button').click() 要么, driver.find_element_by_name('s_image').click() 要么, driver.find_element_by_class_name('s_image').click() 但是,我似乎总是以结尾NoSuchElementException,例如: selenium.common.exceptions.NoSuchElementException: Message: u'Unable to locate element: {"method":"name","selector":"s_image"}' …

1
如何使用Python Selenium在文本框(输入)中定位和插入值?
我具有以下HTML结构,并且尝试使用Selenium输入值NUM: <div class="MY_HEADING_A"> <div class="TitleA">My title</div> <div class="Foobar"></div> <div class="PageFrame" area="W"> <span class="PageText">PAGE <input id="a1" type="txt" NUM="" /> of <span id="MAX"></span> </span> </div> 这是我编写的代码: head = driver.find_element_by_class_name("MY_HEADING_A") frame_elem = head.find_element_by_class_name("PageText") # Following is a pseudo code. # Basically I need to enter a value of 1, 2, 3 etc in …

12
在Python中使用代理运行Selenium Webdriver
我正在尝试在Python中运行Selenium Webdriver脚本来执行一些基本任务。通过Selenium IDE接口运行机器人时,我可以使机器人运行正常(即:仅使GUI重复我的操作时)。但是,当我将代码导出为Python脚本并尝试从命令行执行时,Firefox浏览器将打开,但无法访问起始URL(错误返回到命令行,程序停止)。无论我尝试访问哪个网站,都在发生这种情况。 我在此处包括了一个非常基本的代码以进行演示。我认为我没有正确包含代码的代理部分,因为返回的错误似乎是由代理生成的。 任何帮助将不胜感激。 以下代码仅用于打开www.google.ie并搜索“硒”一词。对我来说,它将打开一个空白的Firefox浏览器并停止。 from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import Select from selenium.common.exceptions import NoSuchElementException import unittest, time, re from selenium.webdriver.common.proxy import * class Testrobot2(unittest.TestCase): def setUp(self): myProxy = "http://149.215.113.110:70" proxy = Proxy({ 'proxyType': ProxyType.MANUAL, 'httpProxy': myProxy, 'ftpProxy': myProxy, 'sslProxy': myProxy, 'noProxy':''}) self.driver …

18
如何使用硒处理证书?
我正在使用Selenium启动浏览器。如何处理要求浏览器接受证书的网页(URL)? 在Firefox中,我可能有一个类似的网站要求我接受这样的证书: 在Internet Explorer浏览器上,我可能会得到以下信息: 在谷歌浏览器上: 我重复我的问题:当我启动使用Selenium(Python编程语言)的浏览器(Internet Explorer,Firefox和Google Chrome)时,如何自动接受网站的证书?

20
如何使用Selenium Webdriver捕获特定元素而不是整个页面的屏幕截图?
目前,我正在尝试使用Selenium WebDriver捕获屏幕截图。但是我只能获取整个页面的屏幕截图。但是,我想要的只是捕获页面的一部分,或者仅捕获基于ID或任何特定元素定位符的特定元素。(例如,我希望捕获图像ID =“ Butterfly”的图片) 有什么方法可以按选定的项目或元素捕获屏幕截图吗?


2
硒与scrapy的动态页面
我正在尝试使用scrapy从网页上抓取产品信息。我的待刮网页如下所示: 从包含10个产品的product_list页面开始 单击“下一步”按钮将加载下10个产品(两个页面之间的网址不变) 我使用LinkExtractor跟随每个产品链接进入产品页面,并获取我需要的所有信息 我尝试复制下一个按钮的ajax调用,但是无法正常工作,因此我尝试使用硒。我可以在单独的脚本中运行selenium的webdriver,但我不知道如何与scrapy集成。硒部分应该放在哪里我的蜘蛛网中? 我的蜘蛛非常标准,如下所示: class ProductSpider(CrawlSpider): name = "product_spider" allowed_domains = ['example.com'] start_urls = ['http://example.com/shanghai'] rules = [ Rule(SgmlLinkExtractor(restrict_xpaths='//div[@id="productList"]//dl[@class="t2"]//dt'), callback='parse_product'), ] def parse_product(self, response): self.log("parsing product %s" %response.url, level=INFO) hxs = HtmlXPathSelector(response) # actual data follows 任何想法表示赞赏。谢谢!

4
WebDriver-使用Java等待元素
我正在寻找类似于waitForElementPresent在单击元素之前检查元素是否已显示的内容。我认为可以通过完成此操作implicitWait,因此我使用了以下方法: driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS); 然后点击 driver.findElement(By.id(prop.getProperty(vName))).click(); 不幸的是,有时它等待元素,有时不等待。我寻找了一段时间,找到了这个解决方案: for (int second = 0;; second++) { Thread.sleep(sleepTime); if (second >= 10) fail("timeout : " + vName); try { if (driver.findElement(By.id(prop.getProperty(vName))) .isDisplayed()) break; } catch (Exception e) { writeToExcel("data.xls", e.toString(), parameters.currentTestRow, 46); } } driver.findElement(By.id(prop.getProperty(vName))).click(); 它等待一切正常,但在超时之前必须等待10次5、50秒。有点多。因此,我将隐式等待时间设置为1秒,直到现在一切都还不错。因为现在有些事情在超时之前等待10秒,而另一些事情在1秒之后超时。 如何覆盖代码中存在/可见的等待元素?任何提示都是可观的。

8
如何在Selenium WebDriver中设置浏览器的宽度和高度?
我正在使用Selenium WebDriver for Python。我想用特定的宽度和高度实例化浏览器。到目前为止,我能得到的最接近的是: driver = webdriver.Firefox() driver.set_window_size(1080,800) 哪个可行,但是在创建浏览器后设置浏览器大小,我希望在实例化时设置它。我猜想有一种方法可以遵循: profile = webdriver.FirefoxProfile(); profile.set_preference(foo, 1080) driver = webdriver.Firefox(profile) 但是我不知道foo会是什么,而且我不知道文档在哪里。 Q1:有没有一种方法可以在实例化时设置宽度/高度? 问题2:参考文档在哪里列出了所有可用的密钥profile.set_preference?

15
未知错误:Chrome无法启动:异常退出(驱动程序信息:chromedriver = 2.9
我试图在Debian 7上运行Selenium测试,但没有成功。 错误是: unknown error: Chrome failed to start: exited abnormally (Driver info: chromedriver=2.9.248316,platform=Linux 3.2.0-4-686-pae x86) (WARNING: The server did not provide any stacktrace information) Command duration or timeout: 60.55 seconds Build info: version: '2.33.0', revision: '4ecaf82108b2a6cc6f006aae81961236eba93358', time: '2013-05-22 12:00:17' System info: os.name: 'Linux', os.arch: 'i386', os.version: '3.2.0-4-686-pae', java.version: '1.7.0_25' …

12
60秒内无法获得稳定的Firefox连接(127.0.0.1:7055)
在测试场景cucumber时,运行rspec测试时出现以下错误 无法在60秒内获得稳定的firefox连接(127.0.0.1:7055)(Selenium :: WebDriver :: Error :: WebDriverError) 使用ruby (1.9.2) selenium-webdriver (2.27.2)和firefox (19.0) 使用rspec-rails (2.12.1),capybara (2.0.2)和其他几个宝石,我也有增加launchy的宝石,但他们似乎并不成为一个问题。我正在使用Windows 7。

11
Selenium WebDriver:我想覆盖字段中的值,而不是使用Java使用sendKeys将其附加到该值
在WebDriver中,如果我使用sendKeys,它将把我的字符串附加到字段中已经存在的值上。我无法使用clear()方法清除它,因为第二次我这样做,网页将抛出一个错误,指出它必须介于10到100之间。所以我无法清除它,否则之前将引发错误我可以使用sendKeys来输入新值,如果我使用sendKeys,只需将其附加到已经存在的值上即可。 WebDriver中是否有任何内容可以让您覆盖字段中的值?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.