相关疑难解决方法(0)

Selenium WebDriver - 测试元素是否存在

有没有办法测试元素是否存在?任何findElement方法都会以异常结束,但这不是我想要的,因为它可能是一个元素不存在而且没关系,这不是测试的失败,因此异常不能成为解决方案.

我发现这篇文章:Selenium c#Webdriver:等到元素存在 但是这是C#而我不是很擅长.任何人都可以将代码翻译成Java吗?我很抱歉,我在Eclipse中尝试过但是我没有把它直接用到Java代码中.

这是代码:

public static class WebDriverExtensions{
    public static IWebElement FindElement(this IWebDriver driver, By by, int timeoutInSeconds){

        if (timeoutInSeconds > 0){
            var wait = new WebDriverWait(driver, TimeSpan.FromSeconds(timeoutInSeconds));
            return wait.Until(drv => drv.FindElement(by));
        }

        return driver.FindElement(by);
    }
}
Run Code Online (Sandbox Code Playgroud)

java selenium selenium-webdriver

153
推荐指数
6
解决办法
32万
查看次数

Selenium - Python - AttributeError:“WebDriver”对象没有属性“find_element_by_name”

我正在尝试让 Selenium 与 Chrome 一起使用,但我不断遇到此错误消息(以及其他类似的错误消息):

AttributeError:“WebDriver”对象没有属性“find_element_by_name”

find_element_by_id()find_element_by_class()等也会出现同样的问题。

我也打不通电话send_keys()

我只是运行ChromeDriver - WebDriver for Chrome - Getting Started中提供的测试代码。

import time

from selenium import webdriver

driver = webdriver.Chrome("C:/Program Files/Chrome Driver/chromedriver.exe")  # Path to where I installed the web driver

driver.get('http://www.google.com/');

time.sleep(5) # Let the user actually see something!

search_box = driver.find_element_by_name('q')

search_box.send_keys('ChromeDriver')

search_box.submit()

time.sleep(5) # Let the user actually see something!

driver.quit()
Run Code Online (Sandbox Code Playgroud)

我使用的是 Google Chrome 版本 103.0.5060.53 并从Downloads下载了 ChromeDriver 103.0.5060.53 。

运行代码时,Chrome 打开并导航到 google.com,但它收到以下输出: …

python selenium google-chrome selenium-chromedriver selenium-webdriver

118
推荐指数
4
解决办法
27万
查看次数

如何通过其内部文本(Python)找到Selenium按钮?

我有以下三个按钮,我无法弄清楚如何抓取它们内部的文本(例如异常值).我试过browser.find_element_by_link_text("Outliers").click(),但得到"无法找到元素"错误.我该怎么做?

在此输入图像描述

python selenium selenium-webdriver

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

无法在 Selenium (Python) 中定位元素

我尝试在 Chrome 中使用 Selenium,但无法在页面上找到元素。我尝试使用链接文本、XPath 和完整 XPath,但只有一个错误,并且没有单击该元素。

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
driver= webdriver.Chrome()
driver.get("https://www.youtube.com/")
print(driver.title)
driver.find_element_by_xpath("//*[@id='search']").click()
Run Code Online (Sandbox Code Playgroud)

输出:

 UserWarning: find_element_by_* commands are deprecated. Please use find_element() instead
  warnings.warn("find_element_by_* commands are deprecated. Please use find_element() instead")
Run Code Online (Sandbox Code Playgroud)

我使用的是 ChromeDriver 81.0.4044.69 和浏览器版本 81.0.4044.113。

python selenium

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