标签: webdriver

watir-webdriver等待页面加载

使用watir-webdriver,如何在点击链接后等待页面加载?

目前我正在做的事情:

sleep n
Run Code Online (Sandbox Code Playgroud)

但这并不理想,因为页面响应变化很大.

是否有方法来测试页面是否准备就绪或页面中是否存在某个元素.我理解在正常的watir gem中有Watir::Waiter.wait_until或类似的东西,但我在webdriver版本中看不到这一点.

webdriver watir firewatir safariwatir watir-webdriver

17
推荐指数
2
解决办法
2万
查看次数

单击通过webdriver的javascript弹出窗口

我正在使用Python中的Selenium webdriver抓取一个网页

我正在处理的网页上有一个表格.我可以填写表单,然后单击"提交"按钮.

它会生成一个弹出窗口(Javascript Alert).我不确定,如何通过webdriver点击弹出窗口.

知道怎么做吗?

谢谢

python selenium alert webdriver web-scraping

17
推荐指数
2
解决办法
3万
查看次数

如何使用Selenium WebDriver和Java关闭特定窗口?

我使用Selenium WebDriver.我打开第一页然后打开第二页 - 执行一些操作并返回第一页.在我想要关闭第二页之前,我使用命令driver.close();,但它会关闭第一页而不是第二页.如何使Selenium关闭特定窗口?

部分代码

String HandleBefore = driver.getWindowHandle();

 driver.findElement(By.xpath("...")).click();
 for (String twohandle : driver.getWindowHandles()) {
        driver.switchTo().window(twohandle);
    }       
 driver.findElement(By.linkText("001")).click();
 driver.close();
Run Code Online (Sandbox Code Playgroud)

java selenium window webdriver selenium-webdriver

17
推荐指数
2
解决办法
6万
查看次数

ChromeDriver控制台应用程序隐藏

我创建了一个播放器,它将使用selenium和C#中的ChromeDriver自动化chrome.它工作正常.

发布我面临的问题是,当它为ChromDriver创建一个对象时,它将启动ChromeDriver应用程序,该应用程序会弹出,然后Chrome将加载.它非常完美,因为该应用程序正在为我加载chrome.

无论如何,我可以打开隐藏的ChromeDriver吗?

webdriver

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

使用远程驱动程序设置chrome选项

所以有一个很好的长序列表可以传递给chromedriver.

我想特别使用它们中的一些--disable-logging.

我不想(仅)在本地使用chromedriver,但我想编写我要使用的所有代码 webdriver.Remote().

这是我用来设置chrome驱动程序的代码,它适用于vanilla chrome实例.

driver = webdriver.Remote(
    command_executor = 'http://127.0.0.1:4444/wd/hub',
    desired_capabilities = {
        'browserName': 'chrome',
    }
)
Run Code Online (Sandbox Code Playgroud)

但是,我无法弄清楚如何传递其他选项.

当我看到时,driver.capabilities我看到以下内容

{
    u'rotatable': False,
    u'browserConnectionEnabled': False,
    u'acceptSslCerts': False,
    u'cssSelectorsEnabled': True,
    u'javascriptEnabled': True,
    u'nativeEvents': True,
    u'databaseEnabled': False,
    u'chrome.chromedriverVersion': u'23.0.1240.0',
    u'locationContextEnabled': False,
    u'takesScreenshot': True,
    u'platform': u'MAC',
    u'browserName': u'chrome',
    u'webdriver.remote.sessionid': u'1352096075502',
    u'version': u'22.0.1229.94',
    u'applicationCacheEnabled': False,
    u'webStorageEnabled': True,
    u'handlesAlerts': True,
    u'chrome.nativeEvents': False
}
Run Code Online (Sandbox Code Playgroud)

我没有看到任何其他参数(除此之外desired_capabilities)将参数传递给chromedriver webdriver.Remote.这是真的?我错过了什么吗?还有其他一些定制chromedriver的策略吗?

在CromeDrive维基页面上有一个很好的例子,它显示了"使用特定标志启动Chromium",但所有示例都是针对webdriver.Chrome(); 这个例子也在java中,所以它甚至可能不适用于python.

如果有人让这个工作或者可以告诉我这不起作用我会很感激.谢谢. …

python selenium webdriver selenium-chromedriver

17
推荐指数
2
解决办法
1万
查看次数

如何使用Selenium Webdriver .NET绑定设置Chrome首选项?

这是我正在使用的,用户代理可以成功设置,而下载首选项不能.

Windows 7,Chrome 26,Selenium-dotnet-2.31.2,chromedriver_win_26.0.1383.0

ChromeOptions chromeOptions = new ChromeOptions();
var prefs = new Dictionary<string, object> {
    { "download.default_directory", @"C:\code" },
    { "download.prompt_for_download", false }
};
chromeOptions.AddAdditionalCapability("chrome.prefs", prefs);
chromeOptions.AddArgument("--user-agent=" + "some safari agent");
var driver = new ChromeDriver(chromeOptions);
Run Code Online (Sandbox Code Playgroud)

取自chromedriver.log:

[1.201][FINE]:      Initializing session with capabilities {

   "browserName": "chrome",

   "chrome.prefs": {

      "download.default_directory": "C:\\code",

      "download.prompt_for_download": false

   },

   "chrome.switches": [ "--user-agent=Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/534.57.2 (KHTML, like Gecko) Version..." ],

   "chromeOptions": {

      "args": [ "--user-agent=Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/534.57.2 (KHTML, like Gecko) Version..." …
Run Code Online (Sandbox Code Playgroud)

c# selenium google-chrome webdriver selenium-webdriver

17
推荐指数
2
解决办法
3万
查看次数

如何使用webdriver使用不同版本的firefox?

如何在网络驱动程序中设置Firefox版本?我只想用不同版本的Firefox.

喜欢不同的版本19,20,21 ....

请提供一个通用的解决方案,也可以帮助其他浏览器.

selenium webdriver

17
推荐指数
2
解决办法
2万
查看次数

使用Selenium ChromeDriver设置Chrome的语言

我下载了ChromeDriver,默认情况下浏览器语言是英文的,我需要将其更改为西班牙语,我一直无法使用.

public WebDriver getDriver(String locale){   
    System.setProperty("webdriver.chrome.driver", "driver/chromedriver.exe");
    return new ChromeDriver();
}

public void initializeSelenium() throws Exception{
    driver = getDriver("en-us")
}
Run Code Online (Sandbox Code Playgroud)

java selenium google-chrome webdriver selenium-webdriver

17
推荐指数
4
解决办法
2万
查看次数

如何使用Selenium WebDriver验证元素中是否存在属性?

我的屏幕上有很多单选按钮.选择单选按钮时,它具有已检查的属性.未选择单选按钮时,不存在checked属性.我想创建一个方法,如果元素不存在将通过.

我正在使用selenium webdriver和java.我知道我可以通过使用来检索属性getSingleElement(XXX).getAttribute(XXX).我只是不确定如何验证属性不存在,以及测试在不存在时传递(如果确实存在则失败).

选中单选按钮时

<input id="ctl00_cphMainContent_ctl00_iq1_response_0" type="radio" name="ctl00$cphMainContent$ctl00$iq1$response" value="1" checked="checked"> 
Run Code Online (Sandbox Code Playgroud)

未选中单选按钮时

<input id="ctl00_cphMainContent_ctl00_iq1_response_0" type="radio" name="ctl00$cphMainContent$ctl00$iq1$response" value="1">
Run Code Online (Sandbox Code Playgroud)

我希望在checked属性不存在时传递测试

java selenium webdriver selenium-webdriver

17
推荐指数
2
解决办法
5万
查看次数

selenium.common.exceptions.NoSuchElementException:消息:无法找到元素:

我正在尝试使用selenium在网页kahoot.it上自动生成大量用户,使它们出现在类的前面,但是,当我尝试访问inputSession项时(我在其中写入要输入的gameID),我收到此错误消息游戏)

from selenium import webdriver
from selenium.webdriver.common.keys import Keys

driver = webdriver.Firefox()
driver.get("http://www.kahoot.it")

gameID = driver.find_element_by_id("inputSession")
username = driver.find_element_by_id("username")

gameID.send_keys("53384")
Run Code Online (Sandbox Code Playgroud)

这是错误:

selenium.common.exceptions.NoSuchElementException: Message: Unable to locate element:
{"method":"id","selector":"inputSession"}
Run Code Online (Sandbox Code Playgroud)

任何帮助将非常感激!:)

selenium element webdriver

17
推荐指数
3
解决办法
4万
查看次数