Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/347.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用selenium python通过文本单击css选择器_Python_Ajax_Selenium_Selenium Webdriver_Onclick - Fatal编程技术网

如何使用selenium python通过文本单击css选择器

如何使用selenium python通过文本单击css选择器,python,ajax,selenium,selenium-webdriver,onclick,Python,Ajax,Selenium,Selenium Webdriver,Onclick,我想测试一些动作。在这种情况下,我需要点击文本以获得上传表单,但是下面的表单都不会导致期望的结果 这部分是HTML代码,我需要在其中执行一些操作: 我无法在堆栈溢出中发表评论,因此我将尝试帮助您完成以下步骤: 您是否尝试过: driver.find_element_by_css_selector('[class="dg-hider st-mb__20 st_add-material__link"]').click() or driver.find_element_by

我想测试一些动作。在这种情况下,我需要点击文本以获得上传表单,但是下面的表单都不会导致期望的结果

这部分是HTML代码,我需要在其中执行一些操作:


我无法在堆栈溢出中发表评论,因此我将尝试帮助您完成以下步骤:

您是否尝试过:

driver.find_element_by_css_selector('[class="dg-hider st-mb__20 st_add-material__link"]').click()

or 

driver.find_element_by_xpath('"//a[contains(text(), 'Choose your category')]"').click()


您需要等待元素的存在或可见性:

您可以使用下面的代码段,它应该可以工作

def wait_for_element_to_be_clickable(element):
    WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.CSS_SELECTOR, element)))


element = "a.dg-hider.st-mb__20.st_add-material__link"
wait_for_element_to_be_clickable(element)
driver.find_element_by_css_selector(element).click()
print("Clicked")

你有什么错误吗?您确定您的定位器不在iframe中吗?@Razvan该页面不包含您提供的网站链接的任何框架扫描。@theNishant@АСааааааааач发布了答案