有谁知道是否可以使用Selenium WebDriver截取屏幕截图?(注:不是Selenium RC)
selenium selenium-webdriver ashot takesscreenshot selenium-shutterbug
我正在使用Python绑定来运行Selenium WebDriver.
from selenium import webdriver
wd = webdriver.Firefox()
Run Code Online (Sandbox Code Playgroud)
我知道我可以抓住这样的一个元素......
elem = wd.find_element_by_css_selector('#my-id')
Run Code Online (Sandbox Code Playgroud)
而且我知道我可以获得完整的页面来源...
wd.page_source
Run Code Online (Sandbox Code Playgroud)
但无论如何要获得"元素来源"?
elem.source # <-- returns the HTML as a string
Run Code Online (Sandbox Code Playgroud)
用于Python的selenium webdriver文档基本上不存在,我在代码中看不到任何似乎启用该功能的内容.
有关访问元素(及其子元素)的HTML的最佳方法的任何想法?
python selenium automated-tests webdriver selenium-webdriver
我只在Chrome中看到这一点.
完整的错误消息显示:
"org.openqa.selenium.WebDriverException:元素在点(411,675)处不可点击.其他元素将收到点击:..."
"将接收点击"的元素位于相关元素的一侧,而不是位于其上方且不与其重叠,而不是在页面上移动.
我试过添加一个偏移量,但这也不起作用.该项目位于显示的窗口上,无需滚动.
这些之间有什么区别
Webdriver.Close()Webdriver.Quit()Webdriver.Dispose()哪一个和什么时候使用?
我正在尝试使用Selenium测试复杂的javascript界面(使用Python界面,以及跨多个浏览器).我有许多形式的按钮:
<div>My Button</div>
Run Code Online (Sandbox Code Playgroud)
我希望能够根据"我的按钮"搜索按钮(或者不区分大小写的部分匹配,例如"我的按钮"或"按钮")
我发现这非常困难,在某种程度上我觉得我错过了一些明显的东西.我到目前为止最好的事情是:
driver.find_elements_by_xpath('//div[contains(text(), "' + text + '")]')
Run Code Online (Sandbox Code Playgroud)
但是,这是区分大小写的.我尝试过的另一件事是遍历页面上的所有div,并检查element.text属性.但是,每次你得到表格的情况:
<div class="outer"><div class="inner">My Button</div></div>
Run Code Online (Sandbox Code Playgroud)
div.outer还有"My Button"作为文本.为了解决这个问题,我试图查看div.outer是否是div.inner的父节点,但是无法弄清楚如何做到这一点(element.get_element_by_xpath('..')返回一个元素的父节点,但它测试不等于div.outer).此外,迭代浏览页面上的所有元素似乎非常慢,至少使用Chrome webdriver.
想法?
编辑:这个问题有点模糊.在这里询问(并回答)一个更具体的版本:如何在不包含子元素文本的情况下获取Selenium WebDriver中的元素文本(通过Python api)?
你如何使Selenium 2.0等待页面加载?
我正在寻找类似的东西:
getElementByXpath(//html[1]/body[1]/div[1]).innerHTML
Run Code Online (Sandbox Code Playgroud)
我需要使用JS获取元素的innerHTML(在Selenium WebDriver/Java中使用它,因为WebDriver本身无法找到它),但是如何?
我可以使用ID属性,但并非所有元素都具有ID属性.
[固定]
我正在使用jsoup在Java中完成它.这符合我的需要.
我想确保在webdriver开始执行操作之前存在一个元素.
我正试图让这样的东西起作用:
WebDriverWait wait = new WebDriverWait(driver, new TimeSpan(0,0,5));
wait.Until(By.Id("login"));
Run Code Online (Sandbox Code Playgroud)
我主要是在努力设置如何设置任何功能..
我该如何验证我的XPath?
我正在使用Chrome Developers工具检查元素并形成我的XPath.我使用Chrome插件XPath Checker验证它,但它并不总能给我结果.什么是验证我的XPath的更好方法.
我也尝试使用Firebug来检查错误并使用FirePath进行验证.但Firepath还验证了XPath.
我的最后一个选择是使用Selenium WebDriver来确认我的XPath.
我试过这个
WebDriver driver = new ChromeDriver();
Run Code Online (Sandbox Code Playgroud)
但我得到的错误是
测试失败:setUp(com.TEST):驱动程序可执行文件的路径必须由webdriver.chrome.driver系统属性设置; 有关更多信息,请参阅此处的代码.最新版本可以从Link下载
如何让Chrome测试Selenium-WebDriver测试用例?