标签: selenium-webdriver

使用Selenium WebDriver截取屏幕截图

有谁知道是否可以使用Selenium WebDriver截取屏幕截图?(注:不是Selenium RC)

selenium selenium-webdriver ashot takesscreenshot selenium-shutterbug

478
推荐指数
16
解决办法
52万
查看次数

使用Python在Selenium WebDriver中获取WebElement的HTML源代码

我正在使用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

434
推荐指数
7
解决办法
38万
查看次数

调试"元素在点上无法点击"错误

我只在Chrome中看到这一点.

完整的错误消息显示:

"org.openqa.selenium.WebDriverException:元素在点(411,675)处不可点击.其他元素将收到点击:..."

"将接收点击"的元素位于相关元素的一侧,而不是位于其上方且不与其重叠,而不是在页面上移动.

我试过添加一个偏移量,但这也不起作用.该项目位于显示的窗口上,无需滚动.

selenium automated-tests google-chrome selenium-webdriver

371
推荐指数
16
解决办法
43万
查看次数

webdriver.Dispose(),. Close()和.Quit()之间的区别

这些之间有什么区别

  1. Webdriver.Close()
  2. Webdriver.Quit()
  3. Webdriver.Dispose()

哪一个和什么时候使用?

selenium-webdriver

265
推荐指数
7
解决办法
24万
查看次数

如何在Selenium Webdriver(Python)中找到包含特定文本的元素?

我正在尝试使用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)?

python selenium selenium-webdriver

229
推荐指数
7
解决办法
46万
查看次数

228
推荐指数
16
解决办法
39万
查看次数

有没有办法在Selenium WebDriver中使用JavaScript通过XPath获取元素?

我正在寻找类似的东西:

getElementByXpath(//html[1]/body[1]/div[1]).innerHTML
Run Code Online (Sandbox Code Playgroud)

我需要使用JS获取元素的innerHTML(在Selenium WebDriver/Java中使用它,因为WebDriver本身无法找到它),但是如何?

我可以使用ID属性,但并非所有元素都具有ID属性.

[固定]

我正在使用jsoup在Java中完成它.这符合我的需要.

javascript xpath selenium-webdriver document.evaluate

218
推荐指数
7
解决办法
27万
查看次数

Selenium c#Webdriver:等到元素存在

我想确保在webdriver开始执行操作之前存在一个元素.

我正试图让这样的东西起作用:

WebDriverWait wait = new WebDriverWait(driver, new TimeSpan(0,0,5));
wait.Until(By.Id("login"));
Run Code Online (Sandbox Code Playgroud)

我主要是在努力设置如何设置任何功能..

c# selenium automated-tests webdriver selenium-webdriver

173
推荐指数
7
解决办法
33万
查看次数

如何在Chrome开发者工具或Firefox的Firebug中验证XPath表达式?

我该如何验证我的XPath?

我正在使用Chrome Developers工具检查元素并形成我的XPath.我使用Chrome插件XPath Checker验证它,但它并不总能给我结果.什么是验证我的XPath的更好方法.

我也尝试使用Firebug来检查错误并使用FirePath进行验证.但Firepath还验证了XPath.

我的最后一个选择是使用Selenium WebDriver来确认我的XPath.

firefox selenium xpath google-chrome selenium-webdriver

164
推荐指数
3
解决办法
20万
查看次数

如何在Chrome中运行Selenium WebDriver测试用例?

我试过这个

WebDriver driver = new ChromeDriver();
Run Code Online (Sandbox Code Playgroud)

但我得到的错误是

测试失败:setUp(com.TEST):驱动程序可执行文件的路径必须由webdriver.chrome.driver系统属性设置; 有关更多信息,请参阅此处的代码.最新版本可以从Link下载

如何让Chrome测试Selenium-WebDriver测试用例?

selenium webdriver selenium-chromedriver selenium-webdriver

157
推荐指数
7
解决办法
59万
查看次数