当前位置: 首页 > 知识库问答 >
问题:

如何修复Python中的“Element not Interactable”Selenium错误?

商燕七
2023-03-14
<div class="table-responsive">
<ul class="nav nav-tabs">
    <li class="active"><a data-toggle="tab" id="loadsur" href="#Section" aria-expanded="true">LoadSurvey</a></li>
</ul>
<div class="container-fluid">
    <div class="row">
        <div class="col-md-12" style="margin-left: -10px;">
            <div class="table-responsive">
                <div id="myDataTable25_wrapper" class="dataTables_wrapper no-footer"><div class="dt-buttons">
                <button class="dt-button buttons-csv buttons-html5" tabindex="0" aria-controls="myDataTable25">
                   <span>Csv</span></button> 
                <button class="dt-button buttons-excel buttons-html5" tabindex="0" aria-controls="myDataTable25">
                   <span>Excel</span></button> 
                <button class="dt-button buttons-collection buttons-page-length" tabindex="0" aria-controls="myDataTable25" aria-haspopup="true">
                   <span>Show 10 rows</span></button> 
                </div>
            </div>
        </div>
    </div>
</div>
def single_meter(i=0):
browser=webdriver.Chrome('C:\Webdrivers\chromedriver.exe')
for row in range (5,10):
    browser.get('http://#link'+consumer_ID+'?reportrange=21%2F07%2F2018-25%2F08%2F2019')
        Show10 = find_element_by_xpath("//button[@class='dt-button buttons-collection buttons-page-length']//span[contains(text(),'Show 10 rows')]")
    Show10.click()

我希望点击这个按钮,这会导致弹出按钮出现。

共有1个答案

苏华荣
2023-03-14

它可能在iframe中。

首先尝试找到iframe并切换到它。

browser = webdriver.Chrome()
browser.get("http:/link") 
frame_id = 'frame'
wait = WebDriverWait(browser, 10)
wait.until(EC.frame_to_be_available_and_switch_to_it((By.ID, frame_id)))

然后试着点击按钮。

Show10 = wait.until(expected_conditions.element_to_be_clickable((By.XPATH, "//button[@class='dt-button buttons-collection buttons-page-length']//span[contains(text(),'Show 10 rows')]")))
Show10.click()
 类似资料:
  • 问题内容: 我有一段代码为网格设置浏览器名称。但是,Selenium 4.0中不推荐使用DesiredCapabilities。如何修复此代码 ,使其与4.0中的代码相同? 问题答案: 根据记录,Selenium v​​4.x仍处于alpha阶段,尚未 发布以供生产使用的通用(GA)。 推荐用法 建议将继续使用Selenium v​​3.141.59,并使您的框架适应 DesiredCapabil

  • 我试图加载一个png文件到python通过pyplay和它不工作这是我的代码: 上面写着: 回溯(最近一次呼叫最后一次): carImage=pygame中的文件“C:/Users/Dawn/PycharmProjects/snakegame/snake.py”,第13行。形象加载('you.png') pygame.error:打不开you.png 请帮帮我我不知道为什么这一直显示。 我现在使用

  • 我收到这个错误,说SSL验证失败。 我已经试过了: 所以我发现了这个问题,如何创建Python安全websocket客户端请求?并使用此代码执行步骤 但随后发生NameError: 我试着添加了一个例外(这很可笑,但还是...)这导致了SyntaxError。 其他作用域 我尝试了使用wss://的不同websocket API,但在第一段代码中工作得很好。 条件: 我在websockets.or

  • 问题内容: 实际上我不知道问题出在哪里。我认为这必须在创建TableLayout时进行。我不知道如何解决错误并使该应用程序正常工作。该程序显示错误“ java.lang.ArithmeticException:被零除”错误该程序具有EditText(edText),要求用户输入。它的类型是NUMBER。(这里r是edText的值)在EditText下方有一个Button(bt),它显示edText

  • 我正在做一个laravel instragram克隆网站,但突然经过一些发展当我运行php工匠服务这个错误发生。 PHP警告:require(I:\LARAVEL\LARAVEL instagram clone\vendor\composer/。/ralouphie/getallheaders/src/getallheaders.PHP):无法打开流:第66行的I:\LARAVEL\LARAVEL

  • 我正在使用Selenium来自动化应用程序,但是当我试图单击标记时,它会抛出以下错误: 元素无法滚动到视图中。 我在C#和Firefox V62中使用Selenium! 下面是我的代码: