草庐IT

scrapy_selenium

全部标签

java - 在已经运行的 selenium webdriver 上设置功能

在selenium测试步骤(如按钮单击)中,我想防止selenium等待页面完成加载。我不能抛出加载异常,因为那样我就不能再使用该页面了。可以像这样做类似的事情:DesiredCapabilitiesdr=DesiredCapabilities.chrome();dr.setCapability("pageLoadStrategy","none");WebDriverdriver=newRemoteWebDriver(newURL("...."),dr);我想要的是"dr.setCapability("pageLoadStrategy","none");"但只是为了一个特定的步骤。有谁

java - 如何从 Selenium Java 中禁用的输入字段中获取文本

如何从SeleniumJava中禁用的输入字段中获取文本?下面是HTML标签。我正在寻找SeleniumJava代码以从禁用的输入字段中获取文本值。我尝试了getAttribute("disabled")。但它正在回归真实。我试过WebElement.getAttribute("id"),但它返回空值。这些都不起作用。该字段的值将动态生成。例如,如果我选择今天,这些值将填充为SYSDATE。对于昨天的值将为SYSDATE-1。 最佳答案 尝试:webElement.findElement(By.cssSelector("#endDa

java - 在 Selenium Webdriver 中,ExpectedCondition.elementToBeClickable 不会等到进度条消失

这个问题与下面的问题类似:即如何等到进度条消失。HowtowaitdynamicallyuntiltheprogressbartoloadcompletelyinSeleniumWebdriver?我的情况有点不同。在我的场景中,当进度条出现时,所有元素都被禁用。我正在使用显式等待,但仍然出现异常。场景:在注册页面中提供所有详细信息后,脚本会单击“创建帐户”按钮。此时会出现一个圆形的进度条,并持续1、2秒。如果输入的密码无效,错误消息将显示在注册页面的顶部。我现在需要单击“取消”按钮并重复该过程。当进度条出现时,整个页面被禁用。只有在进度条消失后,用户才能继续。这是我的代码:WebDr

java - 无法在 Selenium Webdriver(java) 中定位 iframe

我想选择位于弹出窗口中的iframe元素。我可以进入弹出窗口,但无法找到iframe。下面是弹出窗口的html代码。....在这里,我想单击位于iframe内的单选按钮。我使用下面的代码在iframe中切换,但它没有切换到iframe。driver.switchTo().frame(myD.findElement(By.tag("iframe")));由于iframe没有ID,我发现很难在iframe中定位元素。有谁知道我该怎么做...?提前致谢。 最佳答案 您可以通过其索引切换到一个框架。尝试以下操作://gotopopup//s

java - 用于 Firefox 的基于 Java 的 Selenium WebDriver 项目的示例 Maven pom.xml

我想通过SeleniumWebDriver项目使用Java自动化Firefox。因为在我不熟悉如何设置合适的Mavenpom.xml文件之前,我从未使用过Selenium或Maven创建一个项目,然后可以将其导入Eclipse。关于http://docs.seleniumhq.org/docs/03_webdriver.jsp#introducing-webdriver我为Opera浏览器找到了以下示例:4.0.0MySel20ProjMySel20Proj1.0org.seleniumhq.seleniumselenium-java2.28.0com.operaoperadriver

java - 使用 Java 在 Selenium WebDriver 中使用 PageObjects、Page Factory 和 WebDriverWait

我一直在使用SeleniumWebDriver为我参与的一些项目实现功能测试。我正在尝试将页面对象设计模式与页面工厂一起使用来分解我的定位器。我还创建了一个静态WaitTool对象(单例),它使用可选的超时参数实现了多种等待技术。我当前的问题是我想在PageFactory尝试初始化WebElements之前使用我的等待方法。我想等待的原因是PageFactory可能会在页面元素可用之前尝试初始化页面元素。这是一个示例PageObject:publicclassSignInPageextendsPageBase{@FindBy(id="username")@CacheLookuppriv

java - 在 Java 中使用 selenium webdriver 更改用户代理

有人可以告诉我如何在Java中使用webdriver切换用户代理吗?我在下面尝试过,但出现错误。FirefoxProfileffp=newFirefoxProfile();ffp.setPreference("general.useragent.override","Mozilla/5.0(WindowsNT6.1;rv:15.0)Gecko/20100101Firefox/15.0");WebDriverfd=newFirefoxDriver(ffp); 最佳答案 DesiredCapabilities将帮助您更改用户代理。您可以

java - Selenium 获取元素的自然高度和宽度。不应依赖样式属性。 GetSize()、GetLocation() 和 getRect() 无法这样做

这是场景。当我对图像ID“FlashID1x”使用GetSize()、GetLocation()函数时,它总是给出250,300,但元素的实际高度和宽度是1X1,这基本上是错误的。这是我的目标dom:这是我的代码:System.out.println("total:"+iframe.size());//driver.switchTo().frame(frame);org.openqa.selenium.Pointpoint=driver.findElement(By.xpath(".//*[@id='FlashID1x']")).getLocation();System.out.pri

java - 使用 JQuery 选择和识别元素以在 Selenium 2 Java API 中使用它

情况是这样的:我使用Selenium2的JavaAPI打开和控制firefox浏览器实例我通过执行JavaScript将jQuery脚本加载到页面然后我使用jQuery表达式来选择元素并遍历DOM树现在我的问题是,我能否以某种方式为每个找到的元素找到一个唯一标识符?我的目标是通过使用Xpath或CSS选择器获得与Selenium相同的元素。因此,如果我可以为jQuery中的元素生成一个明确的选择器,那将是最直接的。也欢迎其他想法。我需要一种自动方法来识别jQuery中的元素,这些元素可以“转换”为Selenium元素/定位器。/编辑为了更清楚:如果我在jQuery中选择了一个元素:we

java - Selenium 测试运行不会保存 cookie?

所以我正在试验Selenium自动化,我正在尝试编写一个测试用例来登录、转到特定页面、输入数据,然后按下提交。问题是当它运行时,它会输入凭据,按“提交”,网站返回:ThissiteusesHTTPcookiestoverifyauthorizationinformation.PleaseenableHTTPcookiestocontinue.但是当我添加这一行时[由//1表示]:driver.findElement(By.cssSelector("p>input[type=\"submit\"]")).click();它允许登录通过,直到它到达发送消息页面[由//2表示],它再次请求凭