gpt4 book ai didi

python - selenium.common.exceptions.InvalidSelectorException : Message: An invalid or illegal selector was specified

转载 作者:太空宇宙 更新时间:2023-11-04 00:57:13 25 4
gpt4 key购买 nike

我正在尝试编写一个脚本来处理具有多个元素的网页。单击此元素将打开一个新窗口。但是我的脚本在识别元素时有问题。我需要帮助来定位元素和处理多个窗口

我尝试使用 Chrome 查找 Xpath,但它在 Internet Explorer 中不一样。我也试过使用 CSS 选择器它不起作用。说是无效的。

函数 test_google_search_page 的代码: def test_google_search_page( self ): 司机=self.driver driver.get("http://xxxx.com ") str1=driver.title 打印(str1)

    #get the window handles using window_handles
window_before=driver.window_handles[0]
print(window_before)

#driver.find_element_by_xpath("//* [@id='2ccb50dfc61122820032728dcea648fe']/div/div")
driver.find_element_by_css_selector("#\32 ccb50dfc61122820032728dcea648fe > div > div")
window_after=driver.window_handles[1]

driver.switch_to.window(window_after)
str2=driver.title
print(str2)
print(window_after)

self.assertNotEqual(str1,str2)
print('This window has a different title')
driver.switch_to.window(window_before)

self.assertEqual(str1,driver.title)
print('Returned to parent window. Title now match')



ERROR: test_google_search_page (__main__.GoogleOrgSearch)
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\Users\PSWN672P\AppData\Local\Programs\Python\Python37\Python programs\SNOW2.py", line 21, in test_google_search_page
driver.find_element_by_css_selector("#\32 ccb50dfc61122820032728dcea648fe > div > div")
File "C:\Users\PSWN672P\AppData\Local\Programs\Python\Python37\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 598, in find_element_by_css_selector
return self.find_element(by=By.CSS_SELECTOR, value=css_selector)
File "C:\Users\PSWN672P\AppData\Local\Programs\Python\Python37\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 978, in find_element
'value': value})['value']
File "C:\Users\PSWN672P\AppData\Local\Programs\Python\Python37\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 321, in execute
self.error_handler.check_response(response)
File "C:\Users\PSWN672P\AppData\Local\Programs\Python\Python37\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 242, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.InvalidSelectorException: Message: An invalid or illegal selector was specified

最佳答案

您的 #\32 ccb50dfc61122820032728dcea648fe > div > div CSS 选择器确实无效。请引用the CSS selector grammar specification .

您的意思是:#2ccb50dfc61122820032728dcea648fe > div > div?尽管如此,如果不查看您要查找的页面和元素的 HTML 源代码,就不可能为您提供特定的正确选择器。

2ccb50dfc61122820032728dcea648fe id 本身虽然看起来是自动生成的,但您可能应该寻找替代定位器来找到所需的元素,本主题可能有助于了解如何使用 selenium 定位元素:

关于python - selenium.common.exceptions.InvalidSelectorException : Message: An invalid or illegal selector was specified,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54338087/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com