嗨..以上是我的测试用例.无法为帐户链接创建xpath.
这是我试过的脚本:
WebDriver Driver=new FirefoxDriver();
Driver.get("http://live.guru99.com/");
WebElement element=Driver.findElement(By.linkText("My Account"));
element.click();
Run Code Online (Sandbox Code Playgroud)
如果有人帮助我会很棒.
提前致谢.
我试图在网页上提交信息,但selenium会抛出此错误:
UnexpectedAlertPresentException:警告文本:此页面要求您确认是否要离开 - 您输入的数据可能无法保存.,>
这不是休假通知; 这是通知的图片 -
如果我点击进来再也没有显示此通知,我的操作就不会被保存; 有没有办法保存或禁用所有通知?
编辑:我正在使用Firefox.
python selenium python-2.7 selenium-firefoxdriver selenium-webdriver
我需要从下面的下拉菜单中选择一个元素。
<select class="chosen" id="fruitType" name="fruitType">
<option value="">Select</option>
<option value="1">jumbo fruit 1</option>
<option value="2">jumbo fruit 2</option>
<option value="3">jumbo fruit 3</option>
<option value="4">jumbo fruit 4</option>
<option value="5">jumbo fruit 5</option>
<option value="8">jumbo fruit 6</option>
</select>
Run Code Online (Sandbox Code Playgroud)
我尝试使用此代码,
driver = webdriver.Firefox()
driver.find_element_by_xpath("//select[@name='fruitType']/option[text()='jumbo fruit 4']").click()
Run Code Online (Sandbox Code Playgroud)
但是它给我带来了错误。我该怎么做?
Firefox版本46. Selenium版本:Eclipse中的2.53.0代码:package eezar_test;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
public class test_sample {
public static void main(String[] args) {
WebDriver driver = new FirefoxDriver();
driver.get("www.gmail.com");
}
}
Run Code Online (Sandbox Code Playgroud)
Eclipse中生成的错误:
线程"main"中的异常org.openqa.selenium.WebDriverException:目标URL www.gmail.com格式不正确.命令持续时间或超时:620毫秒构建信息:版本:'2.53.0',修订版:'35ae25b',时间:'2016-03-15 16:57:40'系统信息:主机:'admin-PC',ip :'192.168.0.102',os.name:'Windows 7',os.arch:'amd64',os.version:'6.1',java.version:'1.8.0_91'驱动程序信息:org.openqa.selenium. firefox.FirefoxDriver Capabilities [{applicationCacheEnabled = true,rotating = false,handlesAlerts = true,databaseEnabled = true,version = 46.0.1,platform = WINDOWS,nativeEvents = false,acceptSslCerts = true,webStorageEnabled = true,locationContextEnabled = true,browserName =火狐,takesScreenshot =真,javascriptEnabled =真,cssSelectorsEnabled =真}]会话ID:14d90792-c7c9-4828-a2d2-0de6707c86c5在sun.reflect.NativeConstructorAccessorImpl.newInstance0(本机方法)在sun.reflect.NativeConstructorAccessorImpl.newInstance(未知源)org.openqa.selenium.r上java.lang.reflect.Constructor.newInstance(未知来源)的sun.reflect.DelegatingConstructorAccessorImpl.newInstance(未知来源)emote.ErrorHandler.createThrowable(ErrorHandler.java:206)在org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:158)在org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:678) at org.openqa.selenium.remote.RemoteWebDriver.get(RemoteWebDriver.java:316)at eezar_test.test_sample.main(test_sample.java:15)引起:org.openqa.selenium.WebDriverException:目标网址www.gmail.com形式不好.构建信息:版本:'2.53.0',修订版:'35ae25b',时间:'2016-03-15 16:57:40'系统信息:主机:'admin-PC',ip:'192.168.0.102', os.name:'Windows 7',os.arch:'amd64',os.version:'6.1',java.version:'1.8.0_91'驱动程序信息:driver.version:未知.FirefoxDriver.prototype.get(文件:/// C:/Users/Monojit/AppData/Local/Temp/anonymous3216851504162366486webdriver-profile/extensions/fxdriver@googlecode.com/components/driver-component.js:10636)在.DelayedCommand.prototype.executeInternal_ /小时(文件:/// C:/Users/Monojit/AppData/Local/Temp/anonymous3216851504162366486webdriver-profile/extensions/fxdriver@googlecode.com/components/command-processor.js:12661)在.DelayedCommand.prototype.executeInternal_(文件: ///C:/Users/Monojit/AppData/Local/Temp/anonymous3216851504162366486webdriver-profile/extensions/fxdriver@googlecode.com/components/command-processor.js:12666)在.DelayedCommand.prototype.execute/<(文件: /// C:/用户/ Monojit /应用程序数据/本地/温度/ anonymous3216851504162366486webdriver轮廓/ E xtensions/fxdriver@googlecode.com/components/command-processor.js:12608)
我有以下场景:
我有一个C#WPF程序,我尝试同时访问不同的网站并从中收集数据.
网站A(www.example.com)有一个登录表单,登录后会显示一些链接,例如www.example.com?redir=abc
我所做的:
问题是,我在我的项目中的另一个Thread中运行了另一个FirefoxDriver实例2.
在此实例2中,我访问之前收集的链接并想要打开它们.
问题是,为了访问它们(它们是重定向的),我需要再次登录到网站A.当我登录时,实例1上的会话结束,所以我需要再次登录等等,所以有效地实例正在"窃取"彼此的会话.(我想更多地扩展这个实例3,4 ......所以这会使问题更严重).
显然我的问题是实例1和实例2没有共享同一个会话.
我找到解决问题的可能性:
因此,我在问,有人建议我应该如何设计这个?
谢谢您的帮助.
我试图从Firefox和Webdriver下载Excel文件,但我无法处理下载弹出窗口.
单击按钮时,我需要自动下载文件,而不显示弹出窗口.
这是我的代码:
FirefoxProfile firefoxProfile = new FirefoxProfile();
firefoxProfile.setPreference("browser.download.folderList", 2);
firefoxProfile.setPreference("browser.download.manager.showWhenStarting", false);
firefoxProfile.setPreference("browser.download.dir", Constant.Downloaded_Path);
firefoxProfile.setPreference("browser.helperApps.neverAsk.saveToDisk", "text/csv/xls/xlsx");
firefoxProfile.setPreference("browser.helperApps.neverAsk.openFile",
"text/csv,application/x-msexcel,application/excel,application/x-excel,application/vnd.ms-excel,image/png,image/jpeg,text/html,text/plain,application/msword,application/xml");
firefoxProfile.setPreference("browser.helperApps.alwaysAsk.force", false);
firefoxProfile.setPreference("browser.download.manager.alertOnEXEOpen", false);
firefoxProfile.setPreference("browser.download.manager.focusWhenStarting", false);
firefoxProfile.setPreference("browser.download.manager.useWindow", false);
firefoxProfile.setPreference("browser.download.manager.showAlertOnComplete", false);
firefoxProfile.setPreference("browser.download.manager.closeWhenDone", false);
return firefoxProfile;
Run Code Online (Sandbox Code Playgroud)
但是,上面的代码不起作用.任何人都可以帮忙吗?
我今天只是一个简单的问题:
我使用以下代码创建了一个新的selenium项目:
FirefoxDriver driver = new FirefoxDriver();
//ChromeDriver driver = new ChromeDriver();
//InternetExplorerDriver driver = new InternetExplorerDriver();
Run Code Online (Sandbox Code Playgroud)
Chrome和IE开箱即用,但随着Firefox的推出:
geckodriver.exe文件不存在于当前目录或PATH环境变量的目录中.该驱动程序可以从https://github.com/mozilla/geckodriver/releases下载.
为什么只有Firefox我们必须下载/配置这个驱动程序?
从2.53版升级到3.14版后,Selenium说
Given xpath expression "//div[contains(@class='loader-overlay')]" is invalid
这段代码
System.setProperty("webdriver.gecko.driver", "/path/to/geckodriver/v0.23.0");
FirefoxOptions options = new FirefoxOptions();
//...
driver = new FirefoxDriver(options);
WebElement loaderElement = driver.findElement(By.xpath("//div[contains(@class='loader-overlay')]"));
Run Code Online (Sandbox Code Playgroud)
产生这个错误
org.openqa.selenium.InvalidSelectorException: Given xpath expression "//div[contains(@class='loader-overlay')]" is invalid: [Exception... "<no message>" nsresult: "0x8060000d (<unknown>)" location: "JS frame :: chrome://marionette/content/element.js :: element.findByXPath :: line 401" data: no]
For documentation on this error, please visit: http://seleniumhq.org/exceptions/invalid_selector_exception.html
Build info: version: '3.14.0', revision: 'aacccce0', time: '2018-08-02T20:19:58.91Z'
System info: host: 'xxx', ip: '10.233.112.79', os.name: 'Linux', os.arch: 'amd64', os.version: '4.4.0-116-generic', java.version: '1.8.0_181' …Run Code Online (Sandbox Code Playgroud) 我正在使用适用于 Java 的 Selenium 版本 3.141.59,我想在初始化 Chrome 和 Firefox 的驱动程序时禁用密码弹出窗口。
我正在使用 Options 语法,因为 DesiredCapativity 替代方案现已弃用。我的代码看起来像这样,但它不起作用:
FirefoxOptions options = new FirefoxOptions();
options.addPreference("signon.rememberSignons", false);
webDriver = new FirefoxDriver(options);
Run Code Online (Sandbox Code Playgroud)
ChromeOptions chromeOptions = new ChromeOptions();
chromeOptions.setExperimentalOption("credentials_enable_service", false);
chromeOptions.setExperimentalOption("profile.password_manager_enabled", false);
webDriver = new ChromeDriver(chromeOptions);
Run Code Online (Sandbox Code Playgroud)
在创建驱动程序之前如何将该选项添加到选项对象?
我正在使用 python 版本 2.7.9 :: Anaconda 2.2.0(64 位)
我的代码如下:
from selenium import webdriver
from selenium.webdriver.firefox.firefox_binary import FirefoxBinary
binary = FirefoxBinary("C:\\Program Files (x86)\\Mozilla Firefox\\firefox.exe")
fp = webdriver.FirefoxProfile()
driver = webdriver.Firefox(firefox_binary=binary, firefox_profile=fp)
driver.get("www.google.com")
Run Code Online (Sandbox Code Playgroud)
当我从 DOS 执行它时,出现以下错误:
Traceback (most recent call last):
File "autoRadiatorFirefox.py", line 6, in <module>
driver = webdriver.Firefox(firefox_binary=binary, firefox_profile=fp)
File "C:\Users\eripflo\AppData\Local\Continuum\Anaconda\lib\site-
packages\selenium\webdriver\firefox\webdriver.py", line 145, in __init__
keep_alive=True)
File "C:\Users\eripflo\AppData\Local\Continuum\Anaconda\lib\site-
packages\selenium\webdriver\remote\webdriver.py", line 92, in __init__
self.start_session(desired_capabilities, browser_profile)
File "C:\Users\eripflo\AppData\Local\Continuum\Anaconda\lib\site-
packages\selenium\webdriver\remote\webdriver.py", line 180, in start_session
self.session_id = response['sessionId']
KeyError: 'sessionId'
Run Code Online (Sandbox Code Playgroud)
我还尝试了链接中所述的以下解决方案 …
selenium python-2.7 selenium-firefoxdriver selenium-webdriver