Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/290.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循环浏览webelements_Python_Selenium_Selenium Webdriver_Selenium Chromedriver - Fatal编程技术网

使用selenium Python循环浏览webelements

使用selenium Python循环浏览webelements,python,selenium,selenium-webdriver,selenium-chromedriver,Python,Selenium,Selenium Webdriver,Selenium Chromedriver,我目前正在尝试使用Selenium和python自动化一个过程,但我遇到了一个障碍。该列表是树下列表的一部分。我用以下xpath标识了树的底部 item=driver。通过xpath(“//*[@id='filter']/ul/li[1]///ul//li”)查找元素 items=item。通过标签名称(“li”)查找元素 我试图循环浏览“项目”部分,但需要并单击带有“输入”标记的任何内容 对于k in项目: WebDriverWait(驱动程序,10)。直到(EC.元素可点击((k.find_

我目前正在尝试使用Selenium和python自动化一个过程,但我遇到了一个障碍。该列表是树下列表的一部分。我用以下xpath标识了树的底部

item=driver。通过xpath(“//*[@id='filter']/ul/li[1]///ul//li”)查找元素

items=item。通过标签名称(“li”)查找元素

我试图循环浏览“项目”部分,但需要并单击带有“输入”标记的任何内容

对于k in项目:
WebDriverWait(驱动程序,10)。直到(EC.元素可点击((k.find_元素(By.TAG_NAME,“input”))))。点击()

执行上述操作时,我得到以下错误: TypeError:在*之后的find_element()参数必须是iterable,而不是WebElement

出于某些原因,如果我使用下面这样的方法,则.click()将不起作用。
k.通过标记名称(“输入”)查找元素。单击()
它只有在我使用webdriverwait时才起作用。我必须在任何需要单击页面上的内容时使用web驱动程序等待方法

我的问题是: 复制
items=item.find\u elements\u by\u tag\u name(“li”)
对于
WebDriverWait(driver,10)。直到(EC.element\u可单击((k.find\u element(By.TAG\u NAME,“input”))))。单击()
i、 e如何使用基本路径并使用私有方法
find\u元素(By.TAG\u NAME)


提前感谢

我已经找到了一个解决办法,让Selenium做我需要的事情。 我不得不调用javascript执行,所以我没有尝试
WebDriverWait(driver,10)。直到(EC.element\u to\u be\u clickable((k.find\u element(By.TAG\u NAME,“input”)))))。单击()
工作,我刚刚使用了
driver.execute_script(“参数[0]。单击();”,k.find_element_by_tag_name(“输入”))


它所做的正是我需要它做的。

你能发布完整的堆栈跟踪吗?