zig*_*oin 5 python phantomjs selenium-webdriver
我一直在寻找解决问题的方法已经有很长一段时间了,希望这里有人可以想到一些有用的东西.
我有一个工作的selenium脚本(用Python)与Firefox驱动程序一起在网站上连接.使用PhantomJS作为驱动程序时,它不再起作用.
表单由javascript生成,位于https网站上.这是用户输入的代码:
<script language="JavaScript1.2">
document.writeln("<input class=\"textform\" type=\"text\" id=\"user\" name=\"user\" size=\"" + size + "\" tabindex=1 onFocus=\"hadFocus(true)\">");
</script>
Run Code Online (Sandbox Code Playgroud)
以下是脚本中寻找它的部分:(在Firefox上工作但不是PhantomJS)
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([MY URL])
print driver.page_source
driver.find_element_by_id("user").clear()
driver.find_element_by_id("user").send_keys([MY USER ID])
driver.find_element_by_id("pass").clear()
driver.find_element_by_id("pass").send_keys([MY PASS])
driver.find_element_by_name("login_btn").click()
html_source = driver.page_source
print html_source
driver.close()
Run Code Online (Sandbox Code Playgroud)
这是我得到的错误:
selenium.common.exceptions.NoSuchElementException
Run Code Online (Sandbox Code Playgroud)
如果我page_source在到达页面后打印刚才,Firefox会显示正确的源代码,PhantomJS只有:<html><head></head><body></body></html>
你有没有想到可能导致这种情况的任何事情?
感谢Artjom B,我解决了我的问题.
只需更改代码:
driver = webdriver.PhantomJS(service_args=['--ignore-ssl-errors=true'])
Run Code Online (Sandbox Code Playgroud)
这是由于我猜的ssl证书.
| 归档时间: |
|
| 查看次数: |
4985 次 |
| 最近记录: |