相关疑难解决方法(0)

Selenium可以在一个浏览器中使用多线程吗?

我想在多线程中测试一个Web但是当我打开太多的chromedrivers时他们会使用太多的内存.我可以在一个浏览器中使用多线程吗?

selenium multithreading selenium-grid2

19
推荐指数
2
解决办法
3万
查看次数

Selenium WebDriver线程安全吗?

更具体地说,同时对单个WebDriver/WebElement执行多个操作是否安全?即这样的事情

WebDriver driver; //driver initialized somehow
final WebElement elem = driver.findElement(By.cssSelector("#elementID"));

//simplified for example, but in real code I'd be storing the results of these calls
new Thread() {
    @Override
    public void run() {
        elem.isDisplayed();
    }
}.run();
new Thread() {
    @Override
    public void run() {
        elem.isEnabled();
    }
}.run();
Run Code Online (Sandbox Code Playgroud)

我在本地进行交互时没有遇到任何问题,但在对远程硒网格做同样的事情时会遇到间歇性问题.

我不确定我遇到的问题是来自Selenium本身,还是Selenium是好的,这是我正在使用的托管网格提供商的限制. selenium线程是否可以安全地用Python进行抓取?提到硒可能不是线程安全的,但我找不到任何确认.

java selenium multithreading

4
推荐指数
1
解决办法
5618
查看次数

Selenium Threads:如何在多个线程中打开同一个浏览器?为使用唯一代理的每个浏览器的目的

import threading

def rand_function1():
  #random actions

def rand_function2():
  #random actions

def main()
  rand_function1
  rand_function2
  return


if __name__ == '__main__':
    url_list = "https://www.rand_urls.com/"
    driver = webdriver.Firefox()
    for t in range(10):
        t = threading.Thread(target=main)
        t.start()
Run Code Online (Sandbox Code Playgroud)

我有一个简单的程序,我试图使用 10 个 Firefox 网络驱动程序打开 url。但是,它所做的一切都使用一个浏览器,并继续循环,尽管 url 认为是单个浏览器。我将为每个浏览器使用一个独特的代理,因此无法打开标签页。

如何让n线程使用其自己的 Firefox Web 驱动程序单独运行 main 函数?

python selenium multithreading multiprocessing python-3.x

3
推荐指数
1
解决办法
3250
查看次数