我需要在IE和Chrome中更改用户代理值以进行一些测试.我遇到的唯一的硒2例子只适用于FirefoxDriver.
有没有人设法更改IE和Chrome的用户代理?
标记
我正在为遗留应用程序编写测试,其中主文档中有一个iFrame,然后是其中的另一个iFrame.所以层次结构是:
Html Div (id = tileSpace)
iFrame (id = ContentContainer)
iFrame (id = Content)
Elements
Run Code Online (Sandbox Code Playgroud)
这是我的代码(我正在使用C#)
RemoteWebDriver driver = new InternetExplorerDriver();
var tileSpace = driver.FindElement(By.Id("tileSpace"));
var firstIFrame = tileSpace.FindElement(By.Id("ContentContainer"));
var contentIFrame = firstIFrame.FindElement(By.Id("Content"));
Run Code Online (Sandbox Code Playgroud)
问题是,我无法达到第二级iFrame即contentIFrame
有任何想法吗?
我一直在寻找这个,但找不到Python的答案.
是否可以模拟右键单击,或通过selenium/chromedriver打开上下文菜单?
我见过Java和其他一些语言的选项,但从未在Python中看到过.如何模拟右键单击链接或图片,我需要做些什么?
python selenium webdriver selenium-chromedriver selenium-webdriver
情况
我有一个简单的python脚本来获取给定URL的HTML源:
browser = webdriver.PhantomJS()
browser.get(url)
content = browser.page_source
Run Code Online (Sandbox Code Playgroud)
有时,该网址指向具有缓慢加载的外部资源的页面(例如视频文件或非常慢的广告内容).
在完成.get(url)
请求之前,Webdriver将一直等到加载这些资源.
注意:由于无关紧要的原因,我需要使用PhantomJS而不是requests
或者urllib2
这个问题
我想在PhantomJS资源加载上设置超时,这样如果资源加载时间过长,浏览器就会认为它不存在或者其他什么.
这将允许我.pagesource
根据浏览器加载的内容执行后续查询.
webdriver.PhantomJS上的文档很薄,我没有在SO上找到类似的问题.
提前致谢!
I'm struggling a lot to automate Flash using Selenium RC.
Can any one please give me a sample Flash application code (methods) and the Selenium RC code to automate the same.
是否可以将多个selenium浏览器实例一起运行,每个实例都可以用于自己的浏览器,这样可以提高速度?
我可以运行一个像:
ISelenium selenium = new DefaultSelenium("localhost", 4444, "*chrome", "http://localhost/");
selenium.Start();
Run Code Online (Sandbox Code Playgroud)
但如何打开更多的内容并在每个内部打开页面?
我正在使用Selenium和chrome webdriver但是当我运行脚本时它会打开一个窗口.有什么办法可以在没有窗口弹出的情况下访问互联网吗?
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
driver = webdriver.Chrome()
driver.get("https://ps.rsd.edu/public/")
elem = driver.find_element_by_name("account")
elem.send_keys("Username")
elem2 = driver.find_element_by_name("pw")
elem2.send_keys("Password")
elem.send_keys(Keys.RETURN)
driver.quit()
Run Code Online (Sandbox Code Playgroud)
例如,这将进入我学校的成绩网站并输入用户名和密码,但如果可能的话,我希望在没有浏览器弹出的情况下执行此操作.
我是Python和Selenium的新手.你能解释一下driver.title参数是如何导出的吗?下面是一个简单的webdriver脚本.如何在unittest模块中找到与各种断言一起使用的其他driver.x参数?
import unittest
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
class PythonOrgSearch(unittest.TestCase):
def setUp(self):
self.driver = webdriver.Firefox()
def test_search_in_python_org(self):
driver = self.driver
driver.get("http://www.python.org")
self.assertIn("Python", driver.title)
elem = driver.find_element_by_name("q")
elem.send_keys("selenium")
elem.send_keys(Keys.RETURN)
self.assertIn("Google", driver.title)
def tearDown(self):
self.driver.close()
if __name__ == "__main__":
unittest.main()
Run Code Online (Sandbox Code Playgroud) WebDriver driver = new FirefoxDriver();
driver.get("http://www.google.com/");
File scrFile = ((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE);
// Now you can do whatever you need to do with it, for example copy somewhere
FileUtils.copyFile(scrFile, new File("c:\\tmp\\screenshot.png"));
Run Code Online (Sandbox Code Playgroud)
可以告诉我的
File scrFile = ((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE)
Run Code Online (Sandbox Code Playgroud)
getScreenShotAs
TakesScreenshot
界面中的方法......
(TakesScreenshot)driver
,它指的是什么?你能解释一下吗?
我已经将PhantomJS和Selenium添加到我的C#控制台应用程序中,我希望在它到达特定元素时拍摄浏览器的屏幕截图.原因是因为出于某种原因,当我使用ChromeDriver时,它工作正常,但是当我使用PhantomJS时,它会在一些元素上失败.
我想我需要介绍如何使用phantomjs在C#中截取屏幕截图.我在互联网上环顾四周,看起来每个人都在用java脚本来做这件事.我遇到的问题是我不知道如何将java脚本集成到我的C#应用程序中,然后使用它与phantomJS来获取屏幕截图.如果我能得到一些如何做到这一点的帮助,那将是非常好的.
TLDR:我找到了http://code.tutsplus.com/tutorials/testing-javascript-with-phantomjs--net-28243这就是我想要做但我不知道怎么用我的javascript c#app.
selenium ×9
c# ×3
phantomjs ×3
python ×3
webdriver ×3
selenium-rc ×2
flash ×1
ghostdriver ×1
java ×1
javascript ×1
parameters ×1
python-2.7 ×1