저는 파이썬을 처음 사용합니다.Selenium Webdriver를 매개 변수에 전달. 파이썬에서 가능합니까?
내 스크립트의 목적은 Selenium Webdriver로 웹 페이지를 구문 분석하는 것입니다. 두 가지 하위 작업이 있습니다. 오류없이 작성한 첫 번째 작업. 그러나 모든 스크립트는 기능을하지 못했습니다.
이제 두 번째 작업을 약간 복잡한 방법으로 해결하려고합니다. 나는 함수를 사용하고 싶다.
질문 :
내가 함수 매개 변수에 적극적인 셀레늄 Webdriver을 통과 할 수 있을까요?
번째 질문은
대답이 YES이면 - 두 번째 함수는 다른 함수 활성 Webdriver 전달할 수 있는가?
그래서 저는 웹 드라이브를 활성화하고 세션을 닫지 않고 함수에 전달하는 방법에 대해 생각합니다.
내 코드는 다음과 같습니다
for key, value in enumerate(headers):
webdriver.DesiredCapabilities.PHANTOMJS[
'phantomjs.page.customHeaders.{}'.format(key)] = value
w = webdriver.PhantomJS()
ps = q_yn('Perform new links parsing?', default='no')
if ps:
csv_l = get_clist(w)
<...>
def get_clist(w):
w.get(url)
wait_pageload(w, 0)
src = w.page_source
BeautifulSoup(src, "lxml")
... (etc)
<..>
def wait_pageload(w, pt):
if pt == 0:
element = WebDriverWait(w, 10).until(
EC.presence_of_element_located((By.CLASS_NAME, "serg_search_result")))
elif pt == 1:
element = WebDriverWait(w, 10).until(
EC.presence_of_element_located((By.ID, "ya_share")))
else:
raise ValueError("Page type: %s is unknown" % pt)
내가 구축하고 내가 오류가 표시이 스크립트를 실행하려고 :
File "fts-crawl2.py", line 108, in wait_pageload
EC.presence_of_element_located((By.CLASS_NAME, "serg_s")))
File "/usr/local/lib/python3.5/dist-packages/selenium/webdriver/support/
wait.py", line 71, in until
value = method(self._driver)
selenium.common.exceptions.WebDriverException: Message: Error - Unable
to load Atom 'find_element' from file ':/ghostdriver/./third_party/webdriver-
atoms/find_element.js'
감사합니다. @RemcoW. 그래서 모두 작동해야합니다. 예외는 [이 StackOverflow 질문에] 우분투 16.04 오류에서 PhantomJS에서입니다 (http://stackoverflow.com/questions/36770303/phantomjs-with-selenium-unable-to-load-atom-find-element) –