首页 > 解决方案 > 无法通过 selenium 驱动程序单击 javascript 元素

问题描述

我正在使用下面给出的 xpath,但我的脚本没有点击这些元素(python、scrapy、selenium)

driver.find_element(By.XPATH, '//*[@id="MiniReport2"]/thead/tr/td[@class="Over" and contains(@onclick,"MenuClick")]')

HTML 示例:

<table id="MiniReport2" border="0" cellspacing="0" cellpadding="0" class="Menu Unit" style="">            
            <thead>                
                <tr>                    
                    <td onmouseover="className='Over'" onmouseout="className=''" onclick="javascript:MenuClick('MiniReport2');" class="">
                         <div class="Plus">4. Report</div>                    
                    </td>                
                </tr>            
            </thead>            
</table>

标签: pythonseleniumselenium-webdriverxpathselenium-chromedriver

解决方案


欢迎来到 SO。

这是您可以使用的 xpath。

//table[@id='MiniReport2']//td[contains(@onclick,'MenuClick')]

这是脚本(我猜你正在使用python)

driver.find_element_by_xpath("//table[@id='MiniReport2']//td[contains(@onclick,'MenuClick')]").click()

如果你想点击4. Report然后使用下面

driver.find_element_by_xpath("//table[@id='MiniReport2']//td[contains(@onclick,'MenuClick')]/div[normalize-space(.)='4. Report']").click()

推荐阅读