簡體   English   中英

Python中的Selenium PhantomJS無法在ec2實例上運行

[英]Selenium PhantomJS in Python not running on ec2 instance

這是我的python腳本的代碼片段。 我正在使用PhantomJS 1.9.1和python 2.7。

def setUp(self):
    self.driver = webdriver.PhantomJS()
    self.driver.implicitly_wait(30)
    self.base_url = "http://***"
    self.verificationErrors = []
    self.accept_next_alert = True

def test_one(self):
    driver = self.driver
    driver.get(self.base_url + "/"+datestring)
    driver.execute_script('document.querySelector("span.zoom_link").click();')
    targeturl = anchor_tag.get_attribute("src")
    datestring =datestring.replace('/','_')
    urllib.urlretrieve(targeturl, datestring+".jpg")

該代碼在本地Mac OS中按預期運行,但是當我在ec2 cent os實例上部署相同腳本時,它拋出以下錯誤

Traceback (most recent call last):
File "one.py", line 28, in test_one
driver.execute_script('document.querySelector("span.zoom_link").click();')
File "/usr/local/lib/python2.7/site-packages/selenium/webdriver/remote/webdriver.py", line 461, in execute_script
{'script': script, 'args':converted_args})['value']
File "/usr/local/lib/python2.7/site-packages/selenium/webdriver/remote/webdriver.py", line 233, in execute
self.error_handler.check_response(response)
File "/usr/local/lib/python2.7/site-packages/selenium/webdriver/remote/errorhandler.py", line 194, in check_response
raise exception_class(message, screen, stacktrace)

WebDriverException: Message: Error Message => ''undefined' is not a function (evaluating 'document.querySelector("span.zoom_link").click()')'
caused by Request => {"headers":{"Accept":"application/json","Accept-Encoding":"identity","Connection":"close","Content-Length":"130","Content-Type":"application/json;charset=UTF-8","Host":"127.0.0.1:39740","User-Agent":"Python-urllib/2.7"},"httpVersion":"1.1","method":"POST","post":"{\"sessionId\": \"fds\", \"args\": [], \"script\": \"document.querySelector(\\\"span.zoom_link\\\").click();\"}","url":"/execute","urlParsed":{"anchor":"","query":"","file":"execute","directory":"/","path":"/execute","relative":"/execute","port":"","host":"","password":"","user":"","userInfo":"","authority":"","protocol":"","source":"/execute","queryKey":{},"chunks":["execute"]},"urlOriginal":"/session/c1c222d0-1cb6-11e6-bd87-e5a4b311ba07/execute"}

嘗試使用屬性選擇器 ,即從以下位置更改querySelector

driver.execute_script('document.querySelector("span.zoom_link").click();')

driver.execute_script('document.querySelector(\'span[class="zoom_link"]\').click();')

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM