【问题标题】:Selenium ElementNotInteractableException: submit button wont workSelenium ElementNotInteractableException:提交按钮不起作用
【发布时间】:2021-01-17 20:16:49
【问题描述】:

我从昨天开始一直在从网站上抓取,但提交按钮无法点击。

这是代码

button = driver.find_element_by_id('ctl00_PlaceHolderMain_g_6c89d4ad_107f_437d_bd54_8fda17b556bf_ctl00_btnSearch2').click()

这是来自网站的元素

<input type="submit" name="ctl00$PlaceHolderMain$g_6c89d4ad_107f_437d_bd54_8fda17b556bf$ctl00$btnSearch2" value="Cari" onclick="SetSource(this.id);" id="ctl00_PlaceHolderMain_g_6c89d4ad_107f_437d_bd54_8fda17b556bf_ctl00_btnSearch2" class="btn btn-primary" autopostback="True" style="margin-top: 31px">

错误

ElementNotInteractableException:消息:元素不可交互
(会话信息:chrome=87.0.4280.141

网站链接:https://www.bi.go.id/id/statistik/informasi-kurs/transaksi-bi/Default.aspx Cari BUTTON 我希望你能理解我的问题!提前谢谢你

【问题讨论】:

    标签: python selenium screen-scraping


    【解决方案1】:

    试试这个。

     time.sleep(5)
     buttons = driver.find_elements_by_xpath("//input[@value='Cari']")
    

    这将返回 2 个按钮。选择你想要的。

    buttons[0].click()#第一个按钮..货币选择器?

    buttons[1].click()#Second Button..日期选择器。

    检查元素。打开开发者控制台。按 CTRL+F。在栏中键入xpath。它将突出显示该元素并显示有多少具有相同属性。

    【讨论】:

    • 谢谢你,但它仍然无法工作..错误:类型对象'By'没有属性'xpath'
    • 它在首都。 XPATH
    • 它还是一样..error : ---> 80 raise TimeoutException(message, screen, stacktrace) 消息只是空白
    • 虽然建议使用 WebDriverWait,但有时它只是不起作用。我使用 time.sleep(x) ..然后以常规方式找到具有相同 xpath 的元素。 driver.find_element_by_xpath.
    • 所以另一个元素有相同的xpath?哇,我不知道 bcs 我实际上是非常新的刮东西,你介意告诉我如何检查吗?
    【解决方案2】:
    WebDriverWait(driver, 15).until(EC.element_to_be_clickable(
        By.xpath, "//input[@id='ctl00_PlaceHolderMain_g_6c89d4ad_107f_437d_bd54_8fda17b556bf_ctl00_btnSearch2']"))
    

    你可以尝试显式等待

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-09
    • 1970-01-01
    • 2017-03-13
    相关资源
    最近更新 更多