find_element by css 未按预期工作

find_element by css not working as expected

selenium 的新功能,我在 Python 中遇到了一些基础知识。

我需要检查这个 src 是否设置正确

<div id="body_logo"><img src="#local"></img></div>

这就是我尝试过的方法(以及来自互联网的许多其他提示)

result = driver.find_element(By.CSS_SELECTOR("#body_logo img"))

现在,我想测试图像 src 是否包含 specific string

我试过了:

result = driver.find_element(By.CSS_SELECTOR("#body_logo"))

这是几个教程给出的。也试过其他方法。但是我总是失败。

local:~/Projects/selenium$ python3 loginTest.py 
[WDM] - 

[WDM] - ====== WebDriver manager ======
[WDM] - Current google-chrome version is 94.0.4606
[WDM] - Get LATEST driver version for 94.0.4606
[WDM] - Driver 

[/home/dev/.wdm/drivers/chromedriver/linux64/94.0.4606.61/chromedriver] found in cache
<selenium.webdriver.chrome.webdriver.WebDriver         
    (session="51db98ae3610912d240402aed0b8a1f0")>
    Traceback (most recent call last):
        File "loginTest.py", line 17, in <module>
        test = (driver.find_element(By.CSS_SELECTOR("#body_logo")))
        TypeError: 'str' object is not callable

有什么提示吗?

而不是

driver.find_element(By.CSS_SELECTOR("#body_logo img"))

使用这个:

result = driver.find_element(By.CSS_SELECTOR, "#body_logo img")

你有语法问题。请删除 ) 并有 ,

检查特定字符串是否存在。

代码:

result = driver.find_element(By.CSS_SELECTOR, "#body_logo img")
actual_src = result.get_attirbute('src')
if "string_to_search" in actual_src:
    print('specific string found')
else:
    print('specific string not found')