clickable_links = driver.find_element()

huangapple go评论164阅读模式
英文:

clickable_links = driver.find_element()

问题

我试图开发一个Python代码来打印所有可点击元素的列表,但我遇到了错误。

  1. File "C:\Users\username\PycharmProjects\Find_clickables.py", line 9, in <module>
  2. clickable_links = driver.find_element()
  3. ^^^^^^^^^^^^^^^^^^^^^
  4. File "C:\Users\username\venv\Lib\site-packages\selenium\webdriver\remote\webdriver.py", line 739, in find_element
  5. return self.execute(Command.FIND_ELEMENT, {"using": by, "value": value})["value"]

我尝试了以下代码 -

  1. from selenium import webdriver
  2. url = "http://google.com/"
  3. driver = webdriver.Chrome()
  4. driver.get(url)
  5. # 找到页面上的所有可点击元素
  6. clickable_links = driver.find_element()
  7. for link in clickable_links:
  8. print(link)
英文:

I was trying to develop a python code to print list of all clickable elements but I'm getting error.

  1. File &quot;C:\Users\username\PycharmProjects\Find_clickables.py&quot;, line 9, in &lt;module&gt;
  2. clickable_links = driver.find_element()
  3. ^^^^^^^^^^^^^^^^^^^^^
  4. File &quot;C:\Users\username\venv\Lib\site-packages\selenium\webdriver\remote\webdriver.py&quot;, line 739, in find_element
  5. return self.execute(Command.FIND_ELEMENT, {&quot;using&quot;: by, &quot;value&quot;: value})[&quot;value&quot;]

I tried below code -

  1. from selenium import webdriver
  2. url = &quot;http://google.com/&quot;
  3. driver = webdriver.Chrome()
  4. driver.get(url)
  5. # Find all clickable elements on page
  6. clickable_links = driver.find_element()
  7. for link in clickable_links:
  8. print(link)

答案1

得分: 0

我只列出了所有常用的 "html" 标签,这些标签是 "可交互的",还有很多其他标签,任何小部件都可以使用 JavaScript 被激活为 "按钮"。

  1. from selenium import webdriver
  2. from selenium.webdriver.common.by import By
  3. # 设置webdriver(将 'driver_path' 替换为您的webdriver可执行文件的路径)
  4. driver = webdriver.Chrome('driver_path')
  5. # 打开一个网页
  6. driver.get('https://www.example.com')
  7. # 查找所有 <a> 标签
  8. a_tags = driver.find_elements(By.TAG_NAME, 'a')
  9. # 查找所有 <li> 标签
  10. li_tags = driver.find_elements(By.TAG_NAME, 'li')
  11. # 查找所有 <button> 标签
  12. button_tags = driver.find_elements(By.TAG_NAME, 'button')
  13. # 查找所有可点击的项目(使用CSS选择器)
  14. clickable_items = driver.find_elements(By.CSS_SELECTOR, '[onclick], [href], [type="submit"], [type="button"], [type="image"], [role="button"]')
  15. # 打印结果
  16. print("找到", len(a_tags), "<a> 标签:")
  17. for tag in a_tags:
  18. print(tag.get_attribute('href'))
  19. print("找到", len(li_tags), "<li> 标签:")
  20. for tag in li_tags:
  21. print(tag.text)
  22. print("找到", len(button_tags), "<button> 标签:")
  23. for tag in button_tags:
  24. print(tag.text)
  25. print("找到", len(clickable_items), "可点击的项目:")
  26. for item in clickable_items:
  27. print(item.get_attribute('onclick'), item.get_attribute('href'), item.get_attribute('type'), item.get_attribute('role'))
  28. # 关闭webdriver
  29. driver.quit()
英文:

I just listed all commonly used html tags, that are interactive, there are plenty more out there, and any widget can be stimulated as a “button” using JavaScript.

  1. from selenium import webdriver
  2. from selenium.webdriver.common.by import By
  3. # Set up webdriver (replace &#39;driver_path&#39; with the path to your webdriver executable)
  4. driver = webdriver.Chrome(&#39;driver_path&#39;)
  5. # Open a webpage
  6. driver.get(&#39;https://www.example.com&#39;)
  7. # Find all &lt;a&gt; tags
  8. a_tags = driver.find_elements(By.TAG_NAME, &#39;a&#39;)
  9. # Find all &lt;li&gt; tags
  10. li_tags = driver.find_elements(By.TAG_NAME, &#39;li&#39;)
  11. # Find all &lt;button&gt; tags
  12. button_tags = driver.find_elements(By.TAG_NAME, &#39;button&#39;)
  13. # Find all clickable items (using CSS selector)
  14. clickable_items = driver.find_elements(By.CSS_SELECTOR, &#39;[onclick], [href], [type=&quot;submit&quot;], [type=&quot;button&quot;], [type=&quot;image&quot;], [role=&quot;button&quot;]&#39;)
  15. # Print the results
  16. print(&quot;Found&quot;, len(a_tags), &quot;&lt;a&gt; tags:&quot;)
  17. for tag in a_tags:
  18. print(tag.get_attribute(&#39;href&#39;))
  19. print(&quot;Found&quot;, len(li_tags), &quot;&lt;li&gt; tags:&quot;)
  20. for tag in li_tags:
  21. print(tag.text)
  22. print(&quot;Found&quot;, len(button_tags), &quot;&lt;button&gt; tags:&quot;)
  23. for tag in li_tags:
  24. print(tag.text)
  25. print(&quot;Found&quot;, len(clickable_items), &quot;clickable items:&quot;)
  26. for item in clickable_items:
  27. print(item.get_attribute(&#39;onclick&#39;), item.get_attribute(&#39;href&#39;), item.get_attribute(&#39;type&#39;), item.get_attribute(&#39;role&#39;))
  28. # Close the webdriver
  29. driver.quit()

huangapple
  • 本文由 发表于 2023年8月9日 18:14:07
  • 转载请务必保留本文链接:https://go.coder-hub.com/76866754.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定