Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.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 硒元';发送密钥时,不要将文本复制到剪贴板_Python_Selenium - Fatal编程技术网

Python 硒元';发送密钥时,不要将文本复制到剪贴板

Python 硒元';发送密钥时,不要将文本复制到剪贴板,python,selenium,Python,Selenium,这是工作了几个星期前,我测试的网站没有改变任何事情。有时它会突出显示我需要的文本,但它不会将其复制到剪贴板,有时它会工作;现在很少了,但每次我写它的时候它都能正常工作,而且没有时间。sleep()。不过,我现在开始收到一条错误消息 from selenium import webdriver from selenium.webdriver.common.keys import Keys from selenium.webdriver.common.by import By from seleni

这是工作了几个星期前,我测试的网站没有改变任何事情。有时它会突出显示我需要的文本,但它不会将其复制到剪贴板,有时它会工作;现在很少了,但每次我写它的时候它都能正常工作,而且没有时间。sleep()。不过,我现在开始收到一条错误消息

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

driver = webdriver.Firefox()
driver.get("http://www.speedyshare.com/")

driver.switch_to.frame(0)

upload_input = driver.find_element_by_css_selector(
"#selectfilebox input[type=file]")
upload_input.send_keys("/home/ro/Documents/Aaatrack.pdf")

upload_button = driver.find_element_by_link_text("Upload")
upload_button.click()

element = WebDriverWait(driver, 10).until(
EC.presence_of_element_located((By.CLASS_NAME, "inpfilelink")))

elem = driver.find_element_by_class_name("inpfilelink")
elem.send_keys(Keys.CONTROL, "a")
time.sleep(3)
elem.send_keys(Keys.CONTROL, "c")
这是我有时会犯的错误

Traceback (most recent call last):

  File "file wrap.py", line 27, in <module>

    elem.send_keys(Keys.CONTROL, "a")

  File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/remote/webelement.py", line 328, in send_keys

    self._execute(Command.SEND_KEYS_TO_ELEMENT, {'value': typing})

  File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/remote/webelement.py", line 454, in _execute

    return self._parent.execute(command, params)

  File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/remote/webdriver.py", line 201, in execute

    self.error_handler.check_response(response)

  File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/remote/errorhandler.py", line 181, in check_response

    raise exception_class(message, screen, stacktrace)

selenium.common.exceptions.ElementNotVisibleException: Message: Element is not currently visible and so may not be interacted with

Stacktrace:

    at fxdriver.preconditions.visible (file:///tmp/tmp8lWb_m/extensions/fxdriver@googlecode.com/components/command-processor.js:9981)

    at DelayedCommand.prototype.checkPreconditions_ (file:///tmp/tmp8lWb_m/extensions/fxdriver@googlecode.com/components/command-processor.js:12517)

    at DelayedCommand.prototype.executeInternal_/h (file:///tmp/tmp8lWb_m/extensions/fxdriver@googlecode.com/components/command-processor.js:12534)

    at DelayedCommand.prototype.executeInternal_ (file:///tmp/tmp8lWb_m/extensions/fxdriver@googlecode.com/components/command-processor.js:12539)

    at DelayedCommand.prototype.execute/< (file:///tmp/tmp8lWb_m/extensions/fxdriver@googlecode.com/components/command-processor.js:12481)
回溯(最近一次呼叫最后一次):
文件“File wrap.py”,第27行,在
元素发送键(键控制,“a”)
文件“/usr/local/lib/python2.7/dist packages/selenium/webdriver/remote/webelement.py”,第328行,在send_键中
self._execute(Command.SEND_KEYS_TO_元素,{'value':键入})
文件“/usr/local/lib/python2.7/dist packages/selenium/webdriver/remote/webelement.py”,第454行,在
返回self.\u parent.execute(命令,参数)
文件“/usr/local/lib/python2.7/dist packages/selenium/webdriver/remote/webdriver.py”,执行中的第201行
self.error\u handler.check\u响应(响应)
文件“/usr/local/lib/python2.7/dist packages/selenium/webdriver/remote/errorhandler.py”,第181行,在check_响应中
引发异常类(消息、屏幕、堆栈跟踪)
selenium.common.exceptions.ElementNotVisibleException:消息:元素当前不可见,因此可能无法与之交互
堆栈跟踪:
在fxdriver.premissions.visible(file:///tmp/tmp8lWb_m/extensions/fxdriver@googlecode.com/components/command processor.js:9981)
在DelayedCommand.prototype.CheckPremissions\u(file:///tmp/tmp8lWb_m/extensions/fxdriver@googlecode.com/components/command processor.js:12517)
在DelayedCommand.prototype.executeInternal\uh处(file:///tmp/tmp8lWb_m/extensions/fxdriver@googlecode.com/components/command processor.js:12534)
在DelayedCommand.prototype.executeInternal\u(file:///tmp/tmp8lWb_m/extensions/fxdriver@googlecode.com/components/command processor.js:12539)
在DelayedCommand.prototype.execute/<(file:///tmp/tmp8lWb_m/extensions/fxdriver@googlecode.com/components/command processor.js:12481)

我已经用firebug检查了该元素,但它仍然以相同的名称存在。

出现问题的原因是,当您将鼠标悬停在下载链接上时,会弹出一个警报,并显示按CTRL+C立即复制到剪贴板。

对我来说,下面的代码工作得非常好-

它打印上传文档的web共享链接,并将复制的链接粘贴到下面的文本区域
/*[@id='linklistextarea']
。所以它变成了四倍

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

driver = webdriver.Firefox()
driver.get("http://www.speedyshare.com/")
driver.maximize_window()
driver.switch_to.frame(0)

upload_input = driver.find_element_by_css_selector(
"#selectfilebox input[type=file]")
upload_input.send_keys("C:\abc.pdf")

upload_button = driver.find_element_by_link_text("Upload")
upload_button.click()

element = WebDriverWait(driver, 100).until(EC.visibility_of_element_located((By.XPATH, "//*[@id='linklisttextarea']")))

elem = driver.find_element_by_xpath("//td[contains(text(),'Download Link:')]/following-sibling::td[1]/input")
share_lnk =elem.get_attribute('value')
print share_lnk
lnk = driver.find_element_by_xpath("//input[@class='inpfilelink']")
print "Your web linkk is %s"%(lnk.get_attribute('value'))
txt = driver.find_element_by_xpath("//*[@id='linklisttextarea']")
txt.send_keys(share_lnk)
txt.send_keys(share_lnk)
txt.send_keys(share_lnk)
txt.send_keys(share_lnk)
driver.quit()

出现问题的原因是,当您将鼠标悬停在下载链接上时,会弹出一个警报并显示
按CTRL+C立即复制到剪贴板

对我来说,下面的代码工作得非常好-

它打印上传文档的web共享链接,并将复制的链接粘贴到下面的文本区域
/*[@id='linklistextarea']
。所以它变成了四倍

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

driver = webdriver.Firefox()
driver.get("http://www.speedyshare.com/")
driver.maximize_window()
driver.switch_to.frame(0)

upload_input = driver.find_element_by_css_selector(
"#selectfilebox input[type=file]")
upload_input.send_keys("C:\abc.pdf")

upload_button = driver.find_element_by_link_text("Upload")
upload_button.click()

element = WebDriverWait(driver, 100).until(EC.visibility_of_element_located((By.XPATH, "//*[@id='linklisttextarea']")))

elem = driver.find_element_by_xpath("//td[contains(text(),'Download Link:')]/following-sibling::td[1]/input")
share_lnk =elem.get_attribute('value')
print share_lnk
lnk = driver.find_element_by_xpath("//input[@class='inpfilelink']")
print "Your web linkk is %s"%(lnk.get_attribute('value'))
txt = driver.find_element_by_xpath("//*[@id='linklisttextarea']")
txt.send_keys(share_lnk)
txt.send_keys(share_lnk)
txt.send_keys(share_lnk)
txt.send_keys(share_lnk)
driver.quit()

请看更改后的答案!请看更改后的答案!