Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.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
Python 3.x 我该如何点击“点击”按钮;“复制”;使用SeleniumWebDriver?_Python 3.x_Selenium_Web Scraping_Css Selectors_Webdriver - Fatal编程技术网

Python 3.x 我该如何点击“点击”按钮;“复制”;使用SeleniumWebDriver?

Python 3.x 我该如何点击“点击”按钮;“复制”;使用SeleniumWebDriver?,python-3.x,selenium,web-scraping,css-selectors,webdriver,Python 3.x,Selenium,Web Scraping,Css Selectors,Webdriver,如何单击此URL中的“复制”按钮 我需要单击的标记被标记为“复制” 我尝试了多个“find element by”方法,但是我不断得到错误,比如没有这样的元素 button = driver.find_elements_by_class_name('toolbar-item') #not working driver.findElementByClassName("a.cc_btn.cc_btn_accept_all") #not working driver.find_element_by_

如何单击此URL中的“复制”按钮

我需要单击的标记被标记为“复制”

我尝试了多个“find element by”方法,但是我不断得到错误,比如没有这样的元素

button = driver.find_elements_by_class_name('toolbar-item') #not working
driver.findElementByClassName("a.cc_btn.cc_btn_accept_all") #not working
driver.find_element_by_css_selector("toolbar").click() #not working
driver.findElementByClassName("toolbar-item").click() #not working
在这种情况下,如何选择“复制”参考,以及使用什么方法单击“复制”? 此外,单击“复制”按钮时,如何将内容粘贴到文本文件中

这些是我得到的其他错误

错误:

Traceback (most recent call last):
  File "untitled.py", line 27, in <module>
    driver.find_element_by_css_selector("toolbar-item").click()
  File "/Library/Python/2.7/site-packages/selenium/webdriver/remote/webdriver.py", line 598, in find_element_by_css_selector
    return self.find_element(by=By.CSS_SELECTOR, value=css_selector)
  File "/Library/Python/2.7/site-packages/selenium/webdriver/remote/webdriver.py", line 978, in find_element
    'value': value})['value']
  File "/Library/Python/2.7/site-packages/selenium/webdriver/remote/webdriver.py", line 321, in execute
    self.error_handler.check_response(response)
  File "/Library/Python/2.7/site-packages/selenium/webdriver/remote/errorhandler.py", line 242, in check_response
    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"css selector","selector":"toolbar-item"}
  (Session info: chrome=81.0.4044.138)

单击
复制
按钮,导入
WebDriverWait
(),等待
出现位于
()的元素和下面的xpath。您需要滚动元素来单击

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

driver = webdriver.Chrome()
driver.get("https://www.w3resource.com/java-exercises/basic/java-basic-exercise-249.php")
copybtn=WebDriverWait(driver,15).until(EC.presence_of_element_located((By.XPATH,"//a[text()='Copy']")))
copybtn.location_once_scrolled_into_view
copybtn.click()

您也可以使用以下css选择器

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

driver = webdriver.Chrome()
driver.get("https://www.w3resource.com/java-exercises/basic/java-basic-exercise-249.php")
copybtn=WebDriverWait(driver,5).until(EC.presence_of_element_located((By.CSS_SELECTOR,".toolbar-item>a")))
driver.execute_script("arguments[0].scrollIntoView();", copybtn)
copybtn.click()

非常感谢。您是否能够发布Java等价物以单击“复制”按钮
from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By

driver = webdriver.Chrome()
driver.get("https://www.w3resource.com/java-exercises/basic/java-basic-exercise-249.php")
copybtn=WebDriverWait(driver,5).until(EC.presence_of_element_located((By.CSS_SELECTOR,".toolbar-item>a")))
driver.execute_script("arguments[0].scrollIntoView();", copybtn)
copybtn.click()