在使用选择器定位该元素时,当我从列表中给出第一个值时,获取无效选择器异常

2024-10-02 10:31:25 发布

您现在位置:Python中文网/ 问答频道 /正文

这是我的代码,我给了rec item(这是列表中的第一个项,并将其放在选择器语句中。其目的是,当运行自动chrome驱动程序时,它必须单击具有该名称的元素

for rec in recipients:  
    driver.find_element_by_css_selector("span[title='" + recipient + "']").click()
    driver.find_element_by_xpath('// *[ @ id = "main"] / footer / div[1] / div[2] / div / 
    div[2]').send_keys(message)
    driver.find_element_by_xpath('//*[@id="main"]/footer/div[1]/div[3]').click()

但是,我得到了无效的选择器异常

    Traceback (most recent call last):
  File "/Users/archanaradhakrishnan/PycharmProjects/Gmail/whatsapp.py", line 52, in <module>
    driver.find_element_by_css_selector('//span[contains(@title,' + '"' + recipient + '"' + ')]')
  File "/Users/archanaradhakrishnan/venv/lib/python3.7/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 "/Users/archanaradhakrishnan/venv/lib/python3.7/site-packages/selenium/webdriver/remote/webdriver.py", line 978, in find_element
    'value': value})['value']
  File "/Users/archanaradhakrishnan/venv/lib/python3.7/site-packages/selenium/webdriver/remote/webdriver.py", line 321, in execute
    self.error_handler.check_response(response)
  File "/Users/archanaradhakrishnan/venv/lib/python3.7/site-packages/selenium/webdriver/remote/errorhandler.py", line 242, in check_response
    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.InvalidSelectorException: Message: invalid selector: An invalid or illegal selector was specified
  (Session info: chrome=83.0.4103.116)

Tags: inpydivbydriverseleniumlineelement
1条回答
网友
1楼 · 发布于 2024-10-02 10:31:25

你从这里做错了:

File "/Users/archanaradhakrishnan/PycharmProjects/Gmail/whatsapp.py", line 52, in <module>
    driver.find_element_by_css_selector('//span[contains(@title,' + '"' + recipient + '"' + ')]')

您通过rec in recipients进行了一个for循环,但是您调用了recipient

相关问题 更多 >

    热门问题