我们正在考虑将我们的生产服务器从Ubuntu- desktop 10.04升级到Ubuntu- server 12.04。 我们有当前桌面操作系统上运行的各种服务,如Selenium Web Driver。 我的问题是Selenium Web Driver可以从基于cli的系统运行吗? 我的直接想法是,它不能,因为它依赖于Firefox,但我想要有人来certificate我错了!
我正在尝试在Selenium中进行一系列导航后获取当前url。 我知道有一个叫做getLocation for ruby的命令,但我找不到Python的语法。
有什么办法使用WebDriver(Selenium 2)与C#最大化浏览器窗口?
我正在寻找更优雅的方式来刷新网页在testing(我使用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(); 也许是在手动刷新页面上查找元素的一些更好的解决scheme
我使用XPather Browser来检查我的XPATHexpression式在HTML页面上。 我的最终目标是在Selenium中使用这些expression式来testing我的用户界面。 我收到了一个类似于以下内容的HTML文件: <TR> <TD> ABC </ TD> <TD>&NBSP; </ TD> </ TR> 我想select一个包含string“ ”的文本的节点。 像“abc”这样的正常string没有问题。 我使用类似于//td[text()="abc"]的XPATH。 当我尝试使用像//td[text()=" "]的XPATH时,它不返回任何内容。 有关“ & ”的文字是否有特殊规定?
我如何validation我的XPath? 我正在使用Chrome开发人员工具来检查元素并形成我的XPath。 我使用Chrome插件XPath Checker对其进行了validation,但是并不总能给出结果。 有什么更好的方法来validation我的XPath。 我也尝试使用Firebug来检查错误,并使用FirePath进行validation。 但Firepath是否也validationXPath。 我最后的select是使用Selenium WebDriver来确认我的XPath。
我一直在用ChromedrivertestingSelenium,我注意到有些页面可以检测到你使用Selenium,即使没有自动化。 即使当我只是通过Selenium和Xephyr手动浏览时,我经常会看到一个页面,表示检测到可疑活动。 我已经检查过我的用户代理和我的浏览器指纹,它们和普通的Chrome浏览器完全一样。 当我浏览到这些网站在正常的铬一切正常,但是当我使用selenium我检测到。 从理论上讲,chromedriver和chrome应该和任何web服务器完全一样,但不知何故,他们可以检测到它。 如果你想要一些testing代码试试这个: from pyvirtualdisplay import Display from selenium import webdriver display = Display(visible=1, size=(1600, 902)) display.start() chrome_options = webdriver.ChromeOptions() chrome_options.add_argument('–disable-extensions') chrome_options.add_argument('–profile-directory=Default') chrome_options.add_argument("–incognito") chrome_options.add_argument("–disable-plugins-discovery"); chrome_options.add_argument("–start-maximized") driver = webdriver.Chrome(chrome_options=chrome_options) driver.delete_all_cookies() driver.set_window_size(800,800) driver.set_window_position(0,0) print 'arguments done' driver.get('http://stubhub.com') 如果浏览stubhub,你会得到一个或两个请求中的redirect和“阻塞”。 我一直在调查这一点,我不知道他们如何能够告诉用户正在使用selenium。 他们是如何做到的呢? 编辑更新: 我在Firefox中安装了Selenium IDE插件,当我在正常的Firefox浏览器中使用额外的插件访问stubhub.com时,我被禁止了。 编辑: 当我使用Fiddler查看来回发送的HTTP请求时,我注意到'假浏览器'的请求通常在响应头中有'no-cache'。 编辑: 结果是这样的有没有一种方法来检测,我在一个来自Javascript的Selenium Webdriver页面build议,当你使用一个webdriver时,应该没有办法检测到。 但是这个证据表明否则。 编辑: 该网站上传指纹到他们的服务器,但我检查和指纹selenium指纹是相同的指纹使用铬。 编辑: 这是他们发送到服务器的指纹有效载荷之一 {"appName":"Netscape","platform":"Linuxx86_64","cookies":1,"syslang":"en-US","userlang":"en-US","cpu":"","productSub":"20030107","setTimeout":1,"setInterval":1,"plugins":{"0":"ChromePDFViewer","1":"ShockwaveFlash","2":"WidevineContentDecryptionModule","3":"NativeClient","4":"ChromePDFViewer"},"mimeTypes":{"0":"application/pdf","1":"ShockwaveFlashapplication/x-shockwave-flash","2":"FutureSplashPlayerapplication/futuresplash","3":"WidevineContentDecryptionModuleapplication/x-ppapi-widevine-cdm","4":"NativeClientExecutableapplication/x-nacl","5":"PortableNativeClientExecutableapplication/x-pnacl","6":"PortableDocumentFormatapplication/x-google-chrome-pdf"},"screen":{"width":1600,"height":900,"colorDepth":24},"fonts":{"0":"monospace","1":"DejaVuSerif","2":"Georgia","3":"DejaVuSans","4":"TrebuchetMS","5":"Verdana","6":"AndaleMono","7":"DejaVuSansMono","8":"LiberationMono","9":"NimbusMonoL","10":"CourierNew","11":"Courier"}} […]
我试图用Seleniumtesting一个复杂的JavaScript接口(使用Python接口,并跨越多个浏览器)。 我有一些forms的button: <div>My Button</div> 我希望能够search基于“我的button”(或不区分大小写,部分匹配,如“我的button”或“button”)的button 我发现这非常困难,在某种程度上,我觉得我失去了一些明显的东西。 我迄今为止最好的事情是: driver.find_elements_by_xpath('//div[contains(text(), "' + text + '")]') 不过,这是区分大小写的。 我试过的另一件事是遍历页面上的所有div,并检查element.text属性。 但是,每当你得到一个表格的情况: <div class="outer"><div class="inner">My Button</div></div> div.outer也有“我的button”的文字。 为了解决这个问题,我试着看看div.outer是div.inner的父类,但不知道如何做(element.get_element_by_xpath('..')返回元素的父类,但它testing不等于div.outer)。 此外,遍历页面上的所有元素似乎非常慢,至less使用Chrome的Web驱动程序。 想法? 编辑:这个问题有点含糊。 在这里被问及(并回答)一个更具体的版本: 如何获取Selenium WebDriver中的元素的文本(通过Python API),而不包括子元素文本?
我无法在任何地方findWebDriver的官方类/方法/属性typesAPI参考,只有位于seleniumhq的5分钟指南和Next Step页面以及一些其他的随意描述。 有一个存在吗?
我们使用Selenium来自动化UItesting。 最近我们看到大部分用户使用Chrome。 所以我们想知道 – 使用PhantomJS vs Selenium的优缺点: 在性能方面是否有任何真正的优势,例如执行testing用例的时间? 什么时候应该selectPhantomJS而不是Selenium?