【问题标题】:Filling web forms with Selenium, Python使用 Selenium、Python 填充 Web 表单
【发布时间】:2020-10-12 11:50:26
【问题描述】:

我正在尝试填写 this form 以改善我的工作,我尝试使用 Selenium 但出现问题:

driver= webdriver.Chrome('/Users/48604/Desktop/kyk/chromedriver')
driver.get('https://quintadb.com/widgets/cCsqTdWRnaWPBdGb4zgCkg/c_mw7dRmneW4mgWQzrFdOq')
fill = driver.find_element_by_xpath("//input[@name='dtype[cTqIlcPGbjsk_cIuZdPSoQ]' and @id='dtype_cTqIlcPGbjsk_cIuZdPSoQ']").click()
fill.send_keys('test')

但我收到错误:

selenium.common.exceptions.NoSuchElementException: 消息:没有这样的 元素:无法定位元素: {"method":"xpath","selector":"//输入[@name='dtype[cTqIlcPGbjsk_cIuZdPSoQ]' 和@id='dtype_cTqIlcPGbjsk_cIuZdPSoQ']"}

我也试过了:

 fill = driver.find_element_by_xpath("//input[@name='dtype[cTqIlcPGbjsk_cIuZdPSoQ]' and @id='dtype_cTqIlcPGbjsk_cIuZdPSoQ']").click()[0]

但仍然无法正常工作,有什么想法吗?

【问题讨论】:

    标签: python selenium selenium-webdriver web-scraping selenium-chromedriver


    【解决方案1】:

    .click() 带到下一行:

    fill = driver.find_element_by_xpath("//input[@name='dtype[cTqIlcPGbjsk_cIuZdPSoQ]' and @id='dtype_cTqIlcPGbjsk_cIuZdPSoQ']")
    fill.click()
    fill.send_keys('test')
    

    输出:

    您的代码不起作用,因为您已将.click() 函数的输出分配给变量fill。当您打印出填写代码的类型时,它会打印以下内容:

    fill = driver.find_element_by_xpath("//input[@name='dtype[cTqIlcPGbjsk_cIuZdPSoQ]' and @id='dtype_cTqIlcPGbjsk_cIuZdPSoQ']").click()
    print(type(fill))
    

    输出:

    <class 'NoneType'>
    

    NoneType 类型的变量没有名为.send_keys() 的函数。因此,您的代码不起作用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-07-23
      • 1970-01-01
      • 2020-03-22
      • 1970-01-01
      • 1970-01-01
      • 2021-07-01
      • 1970-01-01
      • 2018-11-04
      相关资源
      最近更新 更多