gpt4 book ai didi

python - 如何使用Selenium和Python单击标记以展开“ TreeView ”

转载 作者:行者123 更新时间:2023-12-03 16:49:42 24 4
gpt4 key购买 nike

这是我要对其执行点击操作的标记。元素已成功找到,也接受click()事件,但未执行任何操作。

<img class="pointer" id="id53" src="/images/tree/elbow-minus.gif" alt="collapse not last" onclick="$(this)[0].src='/images/ajax-indicator.gif';var wcall=wicketAjaxGet('wicket/page?1-1.IBehaviorListener.0-dashboardBody-columns-0-gadgets-1-body-content-treeTable-form-rows-4-expandLink',function() { }.bind(this),function() { }.bind(this), function() {return Wicket.$('id53') != null;}.bind(this));;return !wcall;">


码:

link_xpath = "//a[contains(text(),'git')]//parent::*/img"
driver.find_element_by_xpath(link_xpath).click()

最佳答案

根据您提供的HTML,它是一个<img>标记,而该元素是一个动态元素。因此,要单击所需的元素,必须诱使WebDriverWait使该元素可单击,并且可以使用以下解决方案之一:


使用CSS_SELECTOR

element = WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "img.pointer[src='/images/tree/elbow-minus.gif']"))).click()

使用 XPATH

element = WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//img[@class='pointer' and @src='/images/tree/elbow-minus.gif']"))).click()

注意:您必须添加以下导入:

from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC

关于python - 如何使用Selenium和Python单击<img>标记以展开“ TreeView ”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54878581/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com