我想在WebView中显示WebPage.到目前为止,这很好.
但我有WebPage(如下所示),我想要它的某些部分.我的意思是只有左上角应该在所有设备中都适合屏幕模式.
我在过去两三天就解决了这个问题.
我想要的是: 我希望显示网页的左上角以显示内部Webview,无论Stratergy可能是缩放或任何其他选项,但它应该适合所有设备的屏幕.
还有一件事我不能改变网页的源代码,因为它是固定的. 我必须通过代码本身进行管理.
我尝试了什么: 我已经引用Stackoverflow链接但没有运气.
这是我的代码.:
WebView wv;
wv = (WebView) findViewById(R.id.webview_MyPoops);
wv.getSettings().setJavaScriptEnabled(true);
// wv.setInitialScale(185);
// wv.setInitialScale(30);
String URL = "MY_LINK";
wv.loadUrl(URL);
WebSettings webSettings = wv.getSettings();
webSettings.setSavePassword(false);
webSettings.setSaveFormData(false);
webSettings.setJavaScriptEnabled(true);
webSettings.setSupportZoom(true);
webSettings.setLoadWithOverviewMode(true);
webSettings.setUseWideViewPort(true);
Run Code Online (Sandbox Code Playgroud)
我正在获取设备中显示的完整网页.
它在我的LG设备(分辨率为480*800)中运行良好,但在大型设备或像Galaxy Tab2这样的标签中,我得到的是左上角的非常小的图像,所有其他屏幕区域只是WebPage的背景.
以下是运行上述代码后Galaxy Tab2的屏幕截图.
请你有任何我缺乏的建议.提前致谢.
我试图获取字符串中的网页数据,而不是我可以解析它.我没有在qwebview,qurl和另一个中找到任何方法.你可以帮帮我吗?Linux,C++,Qt.
编辑:
感谢帮助.代码正在运行,但下载后的某些页面已经破坏了字符集.我尝试过这样的东西来修复它:
QNetworkRequest *request = new QNetworkRequest(QUrl("http://ru.wiktionary.org/wiki/bovo"));
request->setRawHeader( "User-Agent", "Mozilla/5.0 (X11; U; Linux i686 (x86_64); "
"en-US; rv:1.9.0.1) Gecko/2008070206 Firefox/3.0.1" );
request->setRawHeader( "Accept-Charset", "win1251,utf-8;q=0.7,*;q=0.7" );
request->setRawHeader( "charset", "utf-8" );
request->setRawHeader( "Connection", "keep-alive" );
manager->get(*request);
Run Code Online (Sandbox Code Playgroud)
任何结果=(.
拿任何中文页面 - 比如http://www.worldjournal.com/
当我在谷歌浏览器中打开它时,它会将其翻译为英语.我想保存它(理想情况下是Word或PDF,但HTML可能只是这样)并将其发送给我的同事用英语.如果我按原样保存页面,Google Chrome会将其保存为中文而非英文.有什么方法可以用英语保存吗?
提前致谢
我一整天都在谷歌搜索,没有找到答案,所以如果已经回答,请提前道歉.
我试图从大量不同的网站获取所有可见文本.原因是我想处理文本以最终对网站进行分类.
经过几天的研究,我认为Selenium是我最好的机会.我找到了一种方法来获取所有文本,使用Selenium,遗憾的是同一文本被多次抓取:
from selenium import webdriver
import codecs
filen = codecs.open('outoput.txt', encoding='utf-8', mode='w+')
driver = webdriver.Firefox()
driver.get("http://www.examplepage.com")
allelements = driver.find_elements_by_xpath("//*")
ferdigtxt = []
for i in allelements:
if i.text in ferdigtxt:
pass
else:
ferdigtxt.append(i.text)
filen.writelines(i.text)
filen.close()
driver.quit()
Run Code Online (Sandbox Code Playgroud)
该if内部条件for环路消除同一文本多次读取的问题的尝试-它不然而,只有某些网页上按计划工作.(它也使脚本变得更慢)
我猜测我的问题的原因是 - 当要求元素的内部文本时 - 我也得到嵌套在相关元素内的元素的内部文本.
有没有办法解决?有没有某种主要元素我抓住内在的文本?或者是一种完全不同的方式,可以让我达到目标?任何帮助都会非常感激,因为我对这一点没有任何想法.
编辑:我使用Selenium而不是Mechanize和Beautiful Soup的原因是因为我想要JavaScript招标文本
当在webview中加载页面时,我一直在尝试将进度对话框合并到我的应用程序中,因此不仅有空白的白色屏幕.我知道这个问题随处可见,但我似乎无法找出对我有用的东西.我是编程和使用android的新手,所以任何信息都会有所帮助.下面是我现在拥有的代码.使用onPageStarted我得到了Bitmap的编译错误,我不确定是什么问题.谢谢.
public class Grades extends Activity{
@Override
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
//requesting system settings
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().requestFeature( Window.FEATURE_PROGRESS);
WebView webview = new WebView(this);
//web settings
WebSettings webSettings = webview.getSettings();
webSettings.setJavaScriptEnabled(true);
webSettings.setDisplayZoomControls(true);
webSettings.setBuiltInZoomControls(true);
setContentView(webview);
//loads webpages in webview instead of launching browser
webview.setWebViewClient(new WebViewClient() {
ProgressDialog prDialog;
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
prDialog = ProgressDialog.show(Grades.this, null, "loading, please wait...");
super.onPageStarted(view, url, favicon);
}
@Override
public void onPageFinished(WebView view, String url) {
prDialog.dismiss();
super.onPageFinished(view, url);
}
}); …Run Code Online (Sandbox Code Playgroud) 我是网络编程的新手,最近开始考虑使用Python来自动化一些手动流程.我要做的是登录网站,点击一些下拉菜单选择设置,然后运行报告.
我找到了备受赞誉的请求库:http://docs.python-requests.org/en/latest/user/advanced/#request-and-response-objects 并且一直试图弄清楚如何使用它.
我已成功登录使用此页面上的bpbp答案:如何使用Python登录网页并检索cookie供以后使用?
我对"单击"按钮的理解是编写一个模仿单击的post()命令:Python - 单击一个javascript按钮
我的问题(因为我是网络编程和这个库的新手)是我如何去绘制我需要弄清楚如何构建这些命令的数据.我一直在研究[RequestObject] .headers,.text等.任何例子都会很棒.
一如既往,感谢您的帮助!
编辑:::为了使这个问题更具体,我无法与网页的不同方面进行交互.下图显示了我实际上要做的事情:

我在一个看起来像这样的网页上.有一个下拉菜单,其中包含可以更改的可点击日期.我的目标是自动将日期更改为最近的日期,"单击""保存并运行",并在完成运行时下载报告.
我们有一个提供电子邮件服务的网站.我们想为此创建一个完全成熟的应用程序,但现在无法负担这一点.与此同时,如果我们能够在手机上为用户提供一个图标,将其带到互联网上为移动设备格式化的页面,那将是非常棒的.所以我想知道的是我们如何在Android用户手机上获得一个图标,只需在浏览器中启动网页链接 - 这是一个应用程序,有更简单的方法,还是我估计过度将它作为一个应用程序是多么复杂?
提前致谢
我如何只simplehttpwebsite_content.html在访问时显示localhost:8080?所以我看不到我的filetree,只看到网页.所有这些文件都在同一个目录中.
simplehttpwebsite.py
#!/usr/bin/env python
import SimpleHTTPServer
import SocketServer
Handler = SimpleHTTPServer.SimpleHTTPRequestHandler
server = SocketServer.TCPServer(('0.0.0.0', 8080), Handler)
server.serve_forever()
Run Code Online (Sandbox Code Playgroud)
simplehttpwebsite_content.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<link rel="stylesheet" type="text/css" href="simplehttpwebsite_style.css">
</head>
<body>
This is my first web page
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
simplehttpwebsite_style.css
body{background-color:blue;}
Run Code Online (Sandbox Code Playgroud) 我一直在搜索如何在网页中嵌入一个交互式matplotlib小部件(如下所示:http://matplotlib.org/examples/widgets/slider_demo.html).最终目标是制作教育页面.
我希望我不会重复这个问题.谷歌发现的总是如何以图像格式将情节嵌入静止图像中.
我以为我可以用ipython笔记本或剧情或gjango做点什么.但我很困惑.
是否有可能用于吸引人的情节?我很感谢你的导游我应该思考和工作的方向.
谢谢.