标签: webdriver

Selenium webdriver ruby​​ 版本如何断言 webelement 不存在?

无论如何,我可以使用ruby 中的selenium webdriver验证元素是否不存在?

如果我做

webdriver.find_element(:xpath, element)
Run Code Online (Sandbox Code Playgroud)

但是如果元素不存在,它会抛出一个错误。我需要确保元素不存在而不抛出错误。

我的意思是,有没有像assert_not或的方法assert_element_not_present

ruby selenium ruby-on-rails webdriver selenium-webdriver

0
推荐指数
1
解决办法
1785
查看次数

如何在 selenium 中禁用 Chrome pdf 查看器,并且在出现任何 pdf 时它应该在默认下载中自动下载

我在浏览一个网站时遇到的情况是,当我点击一个按钮时,它应该下载 pdf....

我正在使用最新版本的 chrome 60、selenium 3.4、chromedriver。

        HashMap<String, Object> chromePrefs = new HashMap<String, Object>();
        chromePrefs.put("plugins.plugins_disabled", new String[] {"Chrome PDF Viewer"});
        chromePrefs.put("profile.default_content_settings.popups", 0);
        ChromeOptions options = new ChromeOptions();
        options.setExperimentalOption("prefs", chromePrefs);
        DesiredCapabilities cap = DesiredCapabilities.chrome();
        cap.setCapability(CapabilityType.ACCEPT_SSL_CERTS, true);
        cap.setCapability(ChromeOptions.CAPABILITY, options);
        WebDriver driver = new ChromeDriver(cap);
Run Code Online (Sandbox Code Playgroud)

我也使用了上面的代码,但它不起作用。

selenium google-chrome webdriver selenium-chromedriver chrome-options

0
推荐指数
1
解决办法
7242
查看次数

selenium 中的 ChromeDriver 和 WebDriver 有什么区别?

如果我们创建:

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

chrome 驱动程序方法将被执行。

如果我们创建:

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

再次ChromeDriver执行方法[根据方法覆盖]。

那为什么我们只在执行时写后一个呢?

java selenium webdriver selenium-webdriver webdriver-w3c-spec

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

检查页面是否打开,Java Selenium

我正在使用Selenium WebDriver,如何在单击特定按钮后检查页面是否打开?也许有人向我推荐了一些有用的资源,可供我阅读。谢谢

java webdriver

0
推荐指数
1
解决办法
620
查看次数

Selenium WebDriverException:未知错误:使用Java调用函数结果缺少'value'

当我尝试在java中使用selenium webdriver运行我的第一个测试用例时,我得到以下异常.有人可以帮我解决问题.....

Starting ChromeDriver 2.33.506120 (e3e53437346286c0bc2d2dc9aa4915ba81d9023f) on port 48523
Only local connections are allowed.
log4j:WARN No appenders could be found for logger (org.apache.http.client.protocol.RequestAddCookies).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
Mar 29, 2018 7:34:16 AM org.openqa.selenium.remote.ProtocolHandshake createSession
INFO: Detected dialect: OSS
Exception in thread "main" org.openqa.selenium.WebDriverException: unknown error: call function result missing 'value'
(Session info: chrome=65.0.3325.181)
(Driver info: chromedriver=2.33.506120 (e3e53437346286c0bc2d2dc9aa4915ba81d9023f),platform=Windows NT 6.3.9600 x86_64) (WARNING: The server did not provide any     stacktrace information)
Command duration …
Run Code Online (Sandbox Code Playgroud)

java selenium webdriver selenium-chromedriver selenium-webdriver

0
推荐指数
1
解决办法
4754
查看次数

无法找到并单击复选框::在使用 Selenium Webdriver 之前

我试图单击一个复选框,但它一直在单击“条款和条件”链接。虽然我的 xpath(下面提到)可以在最小化的窗口上工作,但是当窗口最大化时,它无法单击复选框,因为 href(图像)出现在复选框旁边的第二行中。寻找有关单击最大化窗口上的复选框小部件的一些建议。我需要集中注意力。

有趣的是,当我将鼠标悬停在 ::before (CSS 选择器)上时,只有小部件才会突出显示。

<div class="checkbox u-mar-bot-5">
  <div class="checkbox__container">
    <input class="checkbox__input" type="checkbox" id="basket-contact-terms" required data-parsley-multiple="basket-contact-terms" style>
<label class="checkbox__label checkbox__label--has-link checkbox__label--small" for="basket-contact-terms" style>
::before 
"I have read and agree to " <a class="text-link text-link--base text-link- small" href="/terms-conditions" target="_blank">Terms and Conditions</a>
    </label>
  </div>
</div>
Run Code Online (Sandbox Code Playgroud)

图片:条款和条件

我尝试了几个选项,但始终无法选中该框,而是点击了“条款和条件”链接。我一定缺少一些基本的东西。

driver.findElement(By.xpath("//label[@for='basket-contact-terms']")).click();
driver.findElement(By.xpath("//label[contains(@class,'checkbox__label checkbox__label--has-link checkbox__label--small')]")).click();
Run Code Online (Sandbox Code Playgroud)

我确实环顾四周,发现有人建议使用这个(如下),所以我尝试了但没有成功:

WebElement elem = driver.findElement(By.xpath("//div[contains(@class,'checkbox u-mar-bot-5')]"));
Actions action = new Actions(driver);
action.moveToElement(elem).click().build().perform();
Run Code Online (Sandbox Code Playgroud)

任何建议将不胜感激。

java selenium xpath webdriver css-selectors

0
推荐指数
1
解决办法
3091
查看次数

build().perform() 和 perform() 有什么区别

一些文章建议 now本身build()包含在内perform(),而另一些文章则建议将build().perform()多个操作链接在一起时使用。

java selenium webdriver selenium-webdriver

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

如何将目录路径、ChromeOptions 和 ChromeDriverService 传递给新的 ChromeDriver?

我正在创建一个新的 ChromeDriver 对象,但我想向它传递一个 ChromeDriverService 对象、一个 ChromeOptions 对象和一个驱动程序的路径。但是,查看此页面,构造函数不支持通过所有这三个。我该怎么做?

c# webdriver selenium-chromedriver selenium-webdriver

0
推荐指数
1
解决办法
1087
查看次数

WebDriver无法在Python上运行

我正在一个Web抓取项目中,我必须抓取一些LinkedIn信息,因此我在Python中使用Selenium,我已经在Python中安装了Selenium,但是现在我尝试使用Selenium驱动程序来控制Chrome,但显示错误上面写着“模块不可调用”。

我不知道该如何解决。请帮忙。

我的代码是:

from selenium import webdriver
driver=webdriver.chrome("/Users/Intel/Desktop/chromedriver")

from selenium import webdriver
driver=webdriver.chrome("/Users/Intel/Desktop/chromedriver")
Run Code Online (Sandbox Code Playgroud)

当我尝试执行时:

driver=webdriver.chrome("/Users/Intel/Desktop/chromedriver")
Run Code Online (Sandbox Code Playgroud)

错误显示为:

“模块”对象不可调用

python selenium webdriver web-scraping selenium-chromedriver

0
推荐指数
1
解决办法
61
查看次数

__init__() 接受 2 个位置参数,但使用 WebDriverWait 和 Expected_conditions 作为 Selenium Python 的 element_to_be_clickable 给出了 3 个位置参数

我看到了类似的问题,但就我而言,我的代码中甚至没有“init”函数。如何解决这个问题呢?问题出在线路上(EC.element_to_bo_clickable)

from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

driver = webdriver.Chrome(executable_path="C:\Chromedriver\chromedriver.exe")
driver.implicitly_wait(1)
driver.get("https://cct-103.firebaseapp.com/")

element = WebDriverWait(driver, 1).until
(EC.element_to_be_clickable(By.CLASS_NAME, "MuiButton-label"))

element.click()
Run Code Online (Sandbox Code Playgroud)

python selenium webdriver selenium-webdriver webdriverwait

0
推荐指数
1
解决办法
2109
查看次数